我一直在尝试选择适合您的冒险类型的程序,但遇到了问题。我让整个事情在一个 do while 循环中运行,每个选项都是数组中的一个元素是一个元素。我在 do while 中也有 if 语句,它可以根据用户已经完成的操作更改一些元素。这是我的代码的示例:
import java.util.Scanner;
public class MainClass {
public static void main(String[] args) {
Scanner input;
input=new Scanner(System.in);
boolean run;
boolean theBoo = false;
run = true;
int choice;
choice = 0;
do {
String[] theArray;
theArray = new String[2];
theArray[0] = "Hello";
if(theBoo){
theArray[1] = "Goodbye";
}
else{
theArray[1] = "Hi";
theBoo = true;
}
System.out.println(theArray[choice]);
choice = input.nextInt();
} while(run);
}
}
尽管出于某种原因,如果您输入 1,它会打印出“Goodbye”,即使它应该打印出“Hi”,因为 theBoo 为 false。我的问题是:为什么 do while 循环会改变我变量的值,我该如何防止它这样做?谢谢!
编辑:顺便说一句,我是新来的,如果我做错了什么,我深表歉意。
Edit2:首先,感谢大家的快速回答。我做了您建议的更改,但它仍然在做同样的事情。我将代码更新为具有更改的内容。
最佳答案
将代码更新为
if(theBoo){
theArray[1] = "Goodbye";
}
else{
theArray[1] = "Hi";
theBoo = true;
}
关于java - 在 Java 中执行 while 循环更改变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21149374/