0

10 列と 10 行の数値の 2 つの個別の出力を作成しようとしています。最初の出力では 4 から 7 までの数字を使用し、2 番目の出力では 10 から 90 までの数字 (10、20、30 など) を使用します。ただし、これらの番号は、特別な順序ではなく、ランダムに呼び出します。以下は私が持っているJavaコードです:

import java.util.Random;
public class LabRandom
{
private static final Random rand = new Random();
public static void main(String[] args)
{

    int number;

    int i = 1;

    while (i <= 100)
    {
        //number = rand.nextInt(4) + 4;
        System.out.printf("%-5d", rand.nextInt(4) + 4);

        if (i % 10 == 0)
        {
            System.out.println();
        }
        i++;
    }
    System.out.println();

    while (i <= 100)
    {
        //number = rand.nextInt(4) + 4;
        System.out.printf("%-5d", rand.nextInt(10 *(80) + 10));

        if (i % 10 == 0)
        {
            System.out.println();
        }
        i++;
    }
   }    
}

何が欠けているのかわかりません。コードは最初のwhileステートメントのみを実行し、2番目のwhileステートメントは実行しません。

4

3 に答える 3

1

再初期i化しておらず、最初のループの後、すでに等しい101ので、2番目のループには入りません。

あなたの質問へのコメントで述べたように、ここではforループがより適切な構成になります。

また、その2番目のループでは、次のステートメントがあります。

rand.nextInt(10 *(80) + 10)

それはあなたが望むことをするようには見えません。おそらく次のようなものが必要です。

rand.nextInt(9) * 10 + 10
于 2013-03-13T15:48:19.687 に答える
0

i2番目の前にリセットする必要がありますwhile

于 2013-03-13T15:48:22.893 に答える
0

2 番目の while ループの前に i の値を設定します。

    import java.util.Random;

    public class LabRandom
    {
    private static final Random rand = new Random();
    public static void main(String[] args)
    {

        int number;

        int i = 1;

        while (i <= 100)
        {
            //number = rand.nextInt(4) + 4;
            System.out.printf("%-5d", rand.nextInt(4) + 4);

            if (i % 10 == 0)
            {
                System.out.println();
            }
            i++;
        }
        System.out.println();

i = 1;//modified here

        while (i <= 100)
        {
            //number = rand.nextInt(4) + 4;
            System.out.printf("%-5d", rand.nextInt(10 *(80) + 10));

            if (i % 10 == 0)
            {
                System.out.println();
            }
            i++;
        }
       }    
    }
于 2013-03-13T15:50:39.030 に答える