【问题标题】:Incrementing a variable within a loop in Java在Java中的循环内增加一个变量
【发布时间】:2016-05-18 00:53:54
【问题描述】:

我正在开发一个骰子游戏,我希望在该游戏中允许用户保留他们的一些掷骰,然后重新掷其他骰子。我将他们的前 5 个掷骰存储在一个名为 dieArray 的数组中,然后打印该数组的内容,每个骰子都被编号,然后询问用户他/她想要保留哪个骰子,一次循环一个。

想法是将用户选择保留的骰子的值添加到我称为keepArray的新数组中。

我目前这个循环的代码如下

while(bool != false){
        System.out.print("Would you like to keep a die? y/n: ");
        char ch = scanner.next().charAt(0);


        if(ch == 'n') {
            System.out.println("Exiting----------------------------------------------");
            bool = false;
        }
        else{
            System.out.print("Which die number would you like to keep?: ");
            int keep = scanner.nextInt();
            int i = 0;
            keepArray[i] = die.dieArray[keep];
            i++;
            System.out.println("i value is " + i);
        }
    }

我遇到的问题是else 语句中的i 没有增加。我觉得我不了解Java中while循环的基础知识,因为每次访问else循环时我都会看到它,这应该是每次用户在被问及是否要保留时回答“y”一个死,我的i应该加1。显然不是。

【问题讨论】:

  • 附带说明,任何使用==<><=>=!= 的比较都将返回boolean。例如写1 != 2 和写true 是一样的。考虑到这一点,如果您的变量boolfalse,那么bool != false 将返回false;如果booltrue,那么bool != false 将返回true。所以你可以写while(bool)而不是while(bool != false)

标签: java arrays loops while-loop


【解决方案1】:

您的i 变量将在每一轮中重新创建。您需要在循环上方声明int i = 0;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-25
    • 1970-01-01
    • 1970-01-01
    • 2014-12-12
    • 1970-01-01
    • 2014-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多