java在for循环外部使用值
public class randomdemo {
public static void main(String[] args)
{
Random rand = new Random();
int [] varArray = new int[rand.nextInt(10)];
System.out.println(varArray.length);
int d = rand.nextInt(1999)-1000;
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
{
System.out.println(d);
System.out.println(0);
}
}
}
}
代码中的问题:
它多次执行if-else语句,并多次显示if-else输出,因为它处于for循环中。
代码应该只执行一次if-else语句,但是for循环的其余部分应该执行多次。
由于if语句使用的是varArray[i]
值,因此我无法将代码从for循环中排除。
当使用break
语句时,它将终止for
循环。并且完整的输出没有显示
输出:目前
七, -710 -249 0 -693 -249 0 172 -249 0 -488 -249 0 -48 -249 0 955 -249 0 869 -249 0
如您所见,数组的长度为7 它显示数组元素,然后在循环中显示变量d的值和值0
预期产出:
七, -710 -693 172 -488 -48 955 869 -249 0
包含7个元素的数组的输出应该是7个数组值,后跟变量d和0
# 1 楼答案
试试这个
# 2 楼答案
您可以设置一个布尔标志来跟踪if-else代码的执行。。请参阅下面的代码
# 3 楼答案
请确定要执行if-else的确切场景,并对现有if-else条件进行更改,使其在循环中仅执行一次。或者,您可以将现有的if-else包装到other-if-else中,对于这种情况,条件可以是必须执行内部if-else的场景
例如:假设场景只针对特定的i值(比如当i=10时),您希望执行循环。请修改代码如下