在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 是一样的。考虑到这一点,如果您的变量boolfalse,那么bool != false 将返回false;如果booltrue,那么bool != false 将返回true。所以你可以写while(bool)而不是while(bool != false) 【参考方案1】:

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

【讨论】:

以上是关于在Java中的循环内增加一个变量的主要内容,如果未能解决你的问题,请参考以下文章

while循环内的表变量每次都没有初始化:SQL Server

JAVA变量声明在循环体内还是循环体外

在java中应该在循环内还是循环外声明变量[重复]

Vue.js v-for 在循环组件中增加一些变量

在循环之前或循环中声明变量之间的区别?

如何在 Django 2.1 中的模板内的 for 循环内设置变量?