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”循环[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如果函数内部的条件失败,则跳过 bash while 循环

像 while 循环一样,我怎样才能跳过 for 循环中的一个步骤?

Java while循环查询[关闭]

C/C++ 中的无限循环 [关闭]

For或While循环跳过输入[重复]

虽然循环不增加java [关闭]