带有equals比较的Java if语句的计算结果始终为true

带有equals比较的Java if语句的计算结果始终为true,java,if-statement,comparison,integer,equals,Java,If Statement,Comparison,Integer,Equals,我对Java相当陌生,每次尝试比较输入和临时值时,我都会得到数组中的所有结果,即使输入和临时值不一样 代码: if(jRadioButton1.isSelected()) { 字符串温度; 尝试 { 对于(int i=0;i

我对Java相当陌生,每次尝试比较输入和临时值时,我都会得到数组中的所有结果,即使输入和临时值不一样

代码:

if(jRadioButton1.isSelected())
{ 
字符串温度;
尝试
{
对于(int i=0;i<500;i++)
{ 
temp=整数.toString(读.temphhigh[i]);
如果(输入等于(温度));
{   
j、 text区域3.追加(临时);
j、 TextArea3.追加(输入);
}
}
}
捕获(数字格式)
{   
jTextArea3.append(“请输入一个数字”);
}
}
您的线路

if ( input.equals(temp) );
不应该有
在它的末尾。
symbol正在关闭if语句,因此无论
input
temp
的值是多少,它都将始终运行
j.TextArea3.append()

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

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");
    }
}
if(jRadioButton1.isSelected()){
字符串温度;
试一试{
对于(int i=0;i<500;i++){
temp=整数.toString(读.temphhigh[i]);
如果(input.equals(temp)){
j、 text区域3.追加(临时);
j、 text区域3.追加(输入)
}
}
}
捕获(数字格式){
jTextArea3.append(“请输入一个数字”);
}
}

我怀疑您的代码不包含关键部分。你调试代码了吗?p在if语句的行上放置一个断点,并查看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");
    }
}