2016-12-23 3 views
-4

私はしばしば、私が見なければならない映画を拾うのに問題があります。だから、私は自分の選択を無作為化するための簡単なプログラムを作ることに決めましたが、最初のステップに固執しました。 文字列(ムービー名)を配列に割り当てる方法を知りたい。ここに私の未完のコードです文字列の配列に値を手動で挿入する方法はありますか?

Scanner input = new Scanner(System.in); 

    System.out.println("How many movies are you considering?"); 
    int number = input.nextInt(); 
    String[] movies = new String[number]; 

    System.out.println("Enter movie titles..."); 

    for(int i=1; i <= number; i++){ 
    System.out.print(i + "- "); 
    movies[i] = input.next(); 
    System.out.println(); 
    } 
+0

あなたのコードは、何をしてはいけないことややらなければならないことをしていますか? – nicomp

+0

基本的には、自分のコードでユーザーに映画の名前を尋ねてから、これらの名前のうちの1つをランダムに選択するだけです。 – zawawiza

答えて

0

あなたのコードはすでにそれをやっています。ただし、存在しないインデックスまで配列に値を挿入するようにループが設定されているため、ArrayIndexOutOfBoundsExceptionが返されます。

配列インデックスはゼロベースです。これは、サイズが5の配列がある場合、そのインデックスには0,1,2,3,4という番号が付けられていることを意味します。現在、配列は1のように扱います。つまり、サイズ5の配列が0〜4ではなくインデックス1〜5を持つかのようになります。

iは、最初は0と等しい必要があります。の代わりにi <= numberのループを終了する必要があります。

+0

私は前にそれをやってみたが、ユーザーがゼロで始まった名前のプラグインを要求されたとき。私はそれが "0-"ではなく "1"で始めることを望みます。 – zawawiza

+0

iの代わりにi + 1を印刷しましたか? –

+0

私はその問題を解決しました。しかし、今は私が "Fight Club"のような値をプラグインすると、配列#0の戦いと配列#1のクラブにプラグインする理由を理解できません。 – zawawiza

関連する問題