在Java中增加循环中的变量
我正在做一个骰子游戏,我想让用户保留一些骰子,然后重新掷其他骰子。我将他们的前5个骰子存储在一个名为在Java中增加循环中的变量,java,arrays,loops,while-loop,Java,Arrays,Loops,While Loop,我正在做一个骰子游戏,我想让用户保留一些骰子,然后重新掷其他骰子。我将他们的前5个骰子存储在一个名为dieArray的数组中,然后打印该数组的内容,每个骰子都进行编号,然后询问用户希望保留哪个骰子,一次循环一个 想法是将用户选择保留的骰子的值添加到我称之为keepArray的新数组中 我当前的循环代码如下 while(bool != false){ System.out.print("Would you like to keep a die? y/n: "); c
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中而循环的基本原理,因为每次访问else循环时,我都会看到它,当用户被问到是否想保留一个骰子时,每次回答“y”,我的I
应该增加1。显然不是这样。您的i
变量在每一轮中都会被重新创建。您需要声明inti=0循环上方的code>。您的i
变量将在每一轮上重新创建。您需要声明inti=0循环上方的代码>。作为旁注,使用=
、
、=
或进行任何比较=
将返回一个布尔值
。例如写1!=2
与写入true
相同。记住这一点,如果变量bool
为false
,则bool!=false
将返回false
;如果bool
为true
,则bool!=false
将返回true
。因此,您可以只编写while(bool)
而不是while(bool!=false)
。作为旁注,使用=
、
、=
或进行任何比较=
将返回一个布尔值
。例如写1!=2
与写入true
相同。记住这一点,如果变量bool
为false
,则bool!=false
将返回false
;如果bool
为true
,则bool!=false
将返回true
。因此,您可以只编写while(bool)
而不是while(bool!=false)
。