在Java中的循环内增加一个变量
Posted
技术标签:
【中文标题】在Java中的循环内增加一个变量【英文标题】:Incrementing a variable within a loop in 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
是一样的。考虑到这一点,如果您的变量bool
是false
,那么bool != false
将返回false
;如果bool
是true
,那么bool != false
将返回true
。所以你可以写while(bool)
而不是while(bool != false)
。
【参考方案1】:
您的i
变量将在每一轮中重新创建。您需要在循环上方声明int i = 0;
。
【讨论】:
以上是关于在Java中的循环内增加一个变量的主要内容,如果未能解决你的问题,请参考以下文章