请原谅我,如果这是愚蠢的事情,因为我在Java上相对较新
当前程序编译,但它完全跳过while循环。
//Defined Variables
static boolean breaker = false;
static boolean breaker2 = false;
static boolean tf = false;
static boolean tf2 = false;
static int code = 0;
static int random = -8;
static String input = "Nothing here";
System.out.println("1");
//Resetting variables to control while loop
breaker = false;
tf = true;
random = (int)(Math.random() * 100 + 1);
while(breaker2 = false)
{
input = i.nextLine();
if (random >= 90)
tf = false;
if (input.equals("N") || input.equals("n"))
{
System.exit(0);
}
else
{
if (input.equals("Y") || input.equals("y"))
{
tf2 = false;
breaker2 = true;
}
else
{
//Text output
}
}
}
System.out.println("3");
输出:
1
3
除了while循环外,所有内容都会执行。我之前遇到过麻烦,并从头开始编写循环。它有同样的问题。 (“1”“2”和“3”用于标记执行的内容。)
答案 0 :(得分:3)
这是因为
while(breaker2 = false)
您将breaker2
的值指定为false,这意味着您永远不会进入此循环。
使用
while ( breaker == false )
// or
while ( !breaker )
答案 1 :(得分:1)
在某种情况下,您需要两个==
breaker2 = false
这会将breaker2指定为false
breaker2 == false
如果breaker2等于false,则返回true。
您也可以
while(!breaker2)
如果breaker2等于false,则将其翻转为true!符号