Java boolean在if语句中不使用断点

Java boolean在if语句中不使用断点,java,if-statement,boolean,Java,If Statement,Boolean,基本上,当我移动断点时,这段代码的行为似乎有所不同 int checker = something.length(); /* something is the value of an edittext */ boolean badInput = false; if(checker == 0) { badInput = true; } if(checker > 12) { badInput = tr

基本上,当我移动断点时,这段代码的行为似乎有所不同

    int checker = something.length(); /* something is the value of an edittext */

    boolean badInput = false;

    if(checker == 0)
    {
        badInput = true;
    }

    if(checker > 12)
    {
        badInput = true;
    }

*1  if(badInput = false)
    {
*2      /* A lot of 
               code to do 
               if the 
               input is GOOD */
    }
    else
    {
            /* Alert that the input is BAD */
    }
当我在第一个断点为1的edittext中输入一个2位数时,badInput会给出false,这是应该的

问题是:当我只对第二个断点2执行完全相同的操作时,代码会转到else语句,并发出警报,即使输入完全相同

有人知道为什么会这样吗?

这是:

if(badInput = false)
应该是:

if(badInput == false)
或者更喜欢:

if (!badInput)
第一种是执行赋值,而不是比较。表达式badInput=false的整体结果也是指定为false的值,因此它永远不会进入该if的主体

使用断点输入数据的含义并不十分清楚,但基本上问题在于代码中。

您应该:

if(!badInput)

第一个更好

简单的打字错误

if(badInput = false)
应该是

if(badInput == false)

你想要一个比较而不是赋值。

你用==运算符检查布尔变量的是什么?!! 您必须检查以下各项:

if(!badInput) //for false value
    or 
if(badInput)  //for true value

不知道这是否与断点的问题有关,但是如果badInput=false,则应该是如果badInput=false,或者更好,如果!输入错误。
if(!badInput) //for false value
    or 
if(badInput)  //for true value