首页 > 解决方案 > 为什么我在java中陷入了一个超长的for循环?

问题描述

我知道我对此有点愚蠢,但我想我休息几分钟然后问这个问题。我正在尝试向输入框添加倒计时功能。问题在于,当我真正尝试增加一个在循环本身内部调用的变量时,它会执行输入量的平方次数。我敢肯定它会来找我,但让别人的观点会有所帮助。

String propertyNumber = JOptionPane.showInputDialog("Enter Numer of Properties...");
int propNumber = Integer.parseInt(propertyNumber);
numOfProperties = new float[propNumber];

for(int i= 0; i < propNumber; i++) {
    for(int a = propNumber; a >= 0; a--) {
        String propertyVal = JOptionPane.showInputDialog("Enter each property value for the " + propNumber + " Properties you listed. You have " + a + " inputs left.");
        numOfProperties[i] = Float.parseFloat(propertyVal); //takes property value info and stores them inside the property number array
    }
}

标签: javafor-loopnested

解决方案


假设,propNumber = 3。由于您使用的是嵌套循环,因此它将按如下方式工作:

首先以嵌套循环为例:

for(int a = propNumber; a >= 0; a--) {

}

给定 propNumber 为 3,其中的代码将被执行 3 次。

以主循环为例:

for(int i= 0; i < propNumber; i++) {
    //another loop inside
}

由于主循环内的代码会被执行 3 次,所以它里面的循环也会被执行 3 次。3*3 = 9。


推荐阅读