我有3分组的12分。我想测试我的数组的12个点中的每一个是否在395和405之间。然后我想测试一组中的所有3个点是否低于400。如果然后输出消息,但我的代码不断循环。有人可以帮我查一下吗?
tempi=i;
tempx=x;
for( i=0;i<3;i++)
{
for( x=0;x<4;x++)
{
if(rounded[i][x]<395 || rounded[i][x] >405)
{
System.out.println("there is an error with probes "+rounded[i][x]);
}
else if(values[i=0][x]< 400)
{
System.out.println("all points in element "+tempi+"as they are below 400 needs replaced("+"point "+tempx+" : "+values[i][x]+")");
}
else if(values[i=1][x]<400)
{
System.out.println("all points in element "+tempi+"as they are below 400 needs replaced("+"point "+tempx+" : "+values[i][x]+")");
}
else if(values[i=2][x]<400)
{
System.out.println("all points in element "+tempi+"as they are below 400 needs replaced("+"point "+tempx+" : "+values[i][x]+")");
}
}
}
答案 0 :(得分:2)
在这些行中,您将重新设置i的值。所以你永远不会退出循环是有道理的。
else if(values[i=0][x]< 400)
....
else if(values[i=1][x]<400)
....
else if(values[i=2][x]<400)
我认为你想要的是:
else if(i == 0 && values[i][x]< 400)
....
else if(i == 1 && values[i][x]<400)
....
else if(i == 2 && values[i][x]<400)
答案 1 :(得分:1)
在每次迭代中,你都在说
(values[i=0][x]< 400)
等,将i值分别重置为0,1和2。您可能想要使用i-0或i + 0。如果要检查是否相等,请使用==