Javaを始めたばかりです。私は単純な(ほぼHello world)プログラムを作ろうとしています:
- ユーザーは 3 人のプレーヤーの名前を入力します
- プログラムはこれら 3 つの名前を出力します。
- 終わり
プレイヤークラスは「ジュガドール」と呼ばれます。NullPointerException エラーが発生します。私は多かれ少なかれ概念を理解していますが、なぜそれが機能しないのかまだわかりません =(。
ソース:
Chicago2.java:
package chicago2;
import javax.swing.JOptionPane;
public class Chicago2 {
public static void main(String[] args) {
String s;
Jugador jugadores[];
jugadores=new Jugador[3];
int i=1;
System.out.println("Loading players:");
for(Jugador x: jugadores) {
s=JOptionPane.showInputDialog("Name of player "+i+": ");
x = new Jugador(s);
System.out.println("Player "+i+": "+x.getName());
i++;
}
System.out.println("Printing players name:");
for(Jugador y : jugadores) {
System.out.println("Plays: "+y.getName());
}
}
}
Jugador.java:
package chicago2;
public class Jugador {
private String name;
public Jugador(String nom)
{
name=nom;
}
public String getName() {
return name;
}
}
私が得るエラー(出力):
走る:
プレーヤーのロード:
プレイヤー 1: あ
プレーヤー 2: b
プレーヤー 3: c
プレイヤー名の印刷:
スレッド「メイン」での例外 java.lang.NullPointerException
chicago2.Chicago2.main(Chicago2.java:19) で
Java 結果: 1
19 行目は次のとおりです。
System.out.println("Plays: "+y.getName());
作業環境:
製品バージョン: NetBeans IDE 7.3 (ビルド 201302132200)
Java: 1.7.0_17; Java HotSpot(TM) 64 ビット サーバー VM 23.7-b01
ランタイム: Java(TM) SE ランタイム環境 1.7.0_17-b02
システム: amd64 上で動作する Linux バージョン 2.6.32-41-generic。UTF-8; en_US (nb)
スクリーンショット:
ここまで読んでくれてありがとう。