0

ファイルから読み取り、それらを配列に格納しています....

         f = new File("some file");
        try {
            s = new Scanner(f);
        } catch (FileNotFoundException e) {

            e.printStackTrace();
        }
        String theWord [] = new String[100];.
        while(s.hasNext()){

            int i=0;

            theWord[i]=s.next();
            //print
            System.out.println(theWord[i]);

            i++;     
        }
        System.out.println(theWord[0]);
        System.out.println(theWord[1]);

ファイルに「Hello Programmer」という単語があるとします。出力は次のとおりです。

    Hello
    programmer
    programmer
    null

最後の 2 行は私を困惑させます。これは、単語のインデックス 0 がプログラマーであり、インデックス 1 がヌルであることを示しています。

何か助けはありますか?

4

2 に答える 2

4

移動する必要があります:

 int i=0;

ループの外。あなたは常に価値を更新しtheWord[0]ます。

于 2013-08-15T15:01:35.270 に答える
3

ループ内で再初期化iして0いるwhileため、毎回、配列の 0番目の要素が上書きされます。

while(s.hasNext()){
    int i=0;  // Move this outside the while loop
于 2013-08-15T15:01:31.270 に答える