Java跳过“While”循环[关闭]
Posted
技术标签:
【中文标题】Java跳过“While”循环[关闭]【英文标题】:Java Skips over "While" loop [closed] 【发布时间】:2017-04-27 20:48:32 【问题描述】:如果这是愚蠢的,请原谅我,因为我在 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”用于标记执行了什么。)
【问题讨论】:
while(breaker2 = false)
应该是 while(breaker2 == false)
或 while(!breaker2)
【参考方案1】:
在一个条件下你需要两个==
breaker2 = false
这会将breaker2分配给false
breaker2 == false
如果breaker2等于false,则返回true。
你也可以
while(!breaker2)
如果breaker2 等于false,它会用!符号
【讨论】:
【参考方案2】:这是因为
while(breaker2 = false)
您将breaker2
的值分配为false,这意味着您将永远不会进入此循环。
使用任一
while ( breaker == false )
// or
while ( !breaker )
【讨论】:
以上是关于Java跳过“While”循环[关闭]的主要内容,如果未能解决你的问题,请参考以下文章