1

こんにちは、私はプログラミングが初めてで、Eclipse で Java を探索しています。サイコロの面数と使用したい面数を入力できる簡単なプログラムを作成しようとしています。forステートメントは私に問題を与えています。

これが私が持っているものです。

{
    public static void main(String[] args) 
    {
        Random generator = new Random ();
        int sides;
        int num;
        int rolls;
        Scanner scan = new Scanner(System.in);
        while (sides != 0);
        {

        System.out.println("How many sides does your dice have?(0 to quit)");
        sides = scan.nextInt();

        System.out.println("How many dice would you like to roll?");
        rolls = scan.nextInt();

        for (int num1 : rolls);
            {

                        num = generator.nextInt(sides);
                System.out.println("You rolled a " + num);
            }
        }   
    }
}

forステートメントは、「ロール」にカーソルを合わせると、「配列またはjava.lang.Iterableのインスタンスのみを反復できます」と述べています。助けていただければ幸いです。

4

5 に答える 5

0

Javaのforループは、伝統的にfor (initialization; termination; increment). for-eachショートカットは (比較的) 最近追加され、 および 配列の実装をより簡単にループできるようにするために使用されますIterable

使ってみてください....

for (int num1 = 0; num1 < rolls; num1++) {...}

...その代わり。

詳細については、forステートメントを詳しく見てください。

于 2013-10-15T00:46:58.297 に答える
0

あなたがしたい

for (int num1 = 0; num1 < rolls; num1++)

(その後にセミコロンはありません)。

for ループには 2 種類あります。範囲ベースの配列と iterable と、初期化、続行するかどうかの条件、および各ループの後に何かを行う標準的なものです。上記のように、3 つの部分はセミコロンで区切られています。

于 2013-10-15T00:48:06.440 に答える
0

あなたが経験している問題は、ループforeachを使用しようとしているときに本質的に実行しようとしているということです。for使用している表記法を使用する場合変数を宣言してから、別の数値を反復しようとfor(T x : Collection<T>)していることに注意してください。これは、コレクションの繰り返しにのみ使用でき、標準ループの作成には使用できません。代わりに、標準のループを使用する必要があります。int num1rollsfor

for (int x = 0; x < rolls; x++);
{

     num = generator.nextInt(sides);
     System.out.println("You rolled a " + num);
}
于 2013-10-15T00:48:51.337 に答える