具有equals比较的Java if语句始终求值为true

时间:2012-05-27 05:06:53

标签: java if-statement comparison integer equals

我对Java很新,每次尝试将输入与temp进行比较时,即使输入和temp不相同,我也会得到数组中的所有结果。

代码:

if (jRadioButton1.isSelected()) 
{ 
    String temp; 
    try
    {
        for (int i = 0; i < 500; i++)
        { 
            temp = Integer.toString(Read.tempHigh[i]);

            if ( input.equals(temp) );
            {   
                j.TextArea3.append(temp);
                j.TextArea3.append(input);
            }
        }
    }
    catch (NumberFormatException e)
    {   
        jTextArea3.append("Please enter a number");
    }
}

1 个答案:

答案 0 :(得分:6)

你的行......

if ( input.equals(temp) );

最后不应该有;;符号正在关闭if语句,因此无论j.TextArea3.append()input的值是什么,它都会始终运行temp行。

因此,您上面的代码应如下所示......

if (jRadioButton1.isSelected()){ 
    String temp; 
    try {
        for (int i = 0; i < 500; i++){ 
            temp = Integer.toString(Read.tempHigh[i]);

            if ( input.equals(temp) ) {   
                j.TextArea3.append(temp);
                j.TextArea3.append(input)
            }
        }
    }
    catch (NumberFormatException e){   
        jTextArea3.append("Please enter a number");
    }
}