私はスキャナーを使用して配列にデータを入力しています。 "if"ステートメントでprint(player [i] .Name)を印刷すると値が出力されるため、動作しているようです。しかし、この値をステートメント(players [1] .Name)の外側で印刷しようとすると、null値が返されます。Java配列変数がnullとして表示されていますか?
int i = 0;
while (scanner.hasNextLine()) {
if (scanner.hasNext()) {
players[i].Name = scanner.next();
System.out.println(players[i].Name);
}
if (scanner.hasNext()) {
players[i].Position = scanner.next();
System.out.println(players[i].Position);
}
if (scanner.hasNext()) {
players[i].Height = scanner.next();
System.out.println(players[i].Height);
}
if (scanner.hasNext()) {
players[i].Weight = scanner.next();
System.out.println(players[i].Weight);
}
i++;
}//end while
書かれているように、スキャナはすべてのプレイヤーをプレイヤー[0]に入れ、ループはi-> 9の9回ノーオペレーションを行います。完全なコードの場合もそうですか? – Thomas
最後のiteratioの値をscanner.next()が返します。nullで上書きされている可能性があります... – ria
forループ内に書いたwhileループだけを試しましたか?ループのために配置する必要はありません... – Vicky