在下面的代码中,我需要varArray [i]的值来执行if-else语句,但是if-else语句只能执行一次。 如果我将if-else语句放在for循环之外,那么if-else语句会正确执行。 当我将if-else语句放在for循环中时,if-else语句会多次执行。
for (int i=0;i<varArray.length;i++)
{
varArray[i]= rand.nextInt(1999)-1000;
System.out.println(varArray[i]);
if(d==varArray[i])
{
System.out.println(d);
System.out.println(i+1);
}
else if(d!=varArray[i])
{
System.out.println(d);
System.out.println(0);
}
}
需要帮助。一直在寻找几个小时
答案 0 :(得分:0)
if(d==varArray[i])
你的意思是说(varArray [i] =='d')?
或d
是变量吗?
答案 1 :(得分:0)
for (int i = 0; i < varArray.length; i++) {
varArray[i] = rand.nextInt(1999) - 1000;
System.out.println(varArray[i]);
if (d == varArray[i]) {
System.out.println(d);
System.out.println(i + 1);
break;
}
else if(d != varArray[i])
{
System.out.println(d);
System.out.println(0);
break;
}
}
答案 2 :(得分:0)
for (int i = 0; i < varArray.length; i++)
{
varArray[i] = rand.nextInt(1999) - 1000;
System.out.println(varArray[i]);
if (d == varArray[i])
{
System.out.println(d);
System.out.println(i + 1);
break;
}
else if(d != varArray[i])
{
System.out.println(d);
System.out.println(0);
break;
}
}
当程序到达新添加的中断时(在此修改的片段中),它将退出for循环。因此只执行一次。
作者想要编辑我的回答说:
break语句使代码跳出for循环。 我希望for循环语句完全执行,但if-else只能执行一次。
要做到这一点:
Boolean didExecuteIfElse = false; for(int i = 0; i&lt; varArray.length; i ++) { varArray [i] = rand.nextInt(1999) - 1000; 的System.out.println(varArray [I]);
if (didExecuteIfElse == false) {
if (d == varArray[i])
{
System.out.println(d);
System.out.println(i + 1);
}
else if(d != varArray[i])
{
System.out.println(d);
System.out.println(0);
}
didExecuteIfElse = true;
}
}