-1

だから私はループの知識を深めようとしており、ドライバーによって実行されるループプログラムを満足させようとしています。

満たされる最後のループは、ドライバーから与えられた 2 つの指定された境界の間で乱数を生成する必要があり、乱数が下限と等しくなるまで実行されます。現在、無限ループに陥っています。

 public void loop4()
{
    System.out.println("Loop 4 Output, lowerBound = " + lowerBound +
                        " upperBound = " + upperBound);

    for(int i = 0;i < 10; i++){ //First loop should take 5 trys
        int num = (int) (Math.random()* (upperBound - lowerBound));
        if(num == lowerBound){
            System.out.println(i);
            break;    
        }
        else{}
    }
    System.out.println("-------------");
}

そしてドライバーから:

loopTest.setBounds(9, 9);
    loopTest.loop4();

    loopTest.setBounds(100, 200);
    loopTest.loop4();
    loopTest.loop4();
    loopTest.loop4();

    loopTest.setBounds(100, 50);
    loopTest.loop4();

したがって、もちろん、カウンター、i、一度 num == lowerBound を出力しようとしているだけです。ただし、上で述べたように、無限ループに陥るか (i から制限を外すと、この場合はテストのために 10 になります)、単にループを完全に無視してしまいます。問題の特定に苦労しています。

ありがとう

4

3 に答える 3