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