Java跳过“While”循环

时间:2016-12-12 21:44:27

标签: java while-loop

请原谅我,如果这是愚蠢的事情,因为我在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”用于标记执行的内容。)

2 个答案:

答案 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!符号