我剛剛開始使用Java。我試圖做一個簡單的(幾乎是世界您好)程序:初學者:空指針異常
- 用戶輸入的三名球員
- 名稱的程序打印這三個名字
- 結束
玩家班級被稱爲「Jugador」。我收到一個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:乙
播放機3:C
印刷玩家的姓名:
在異常線程「main」java.lang.NullPointerException
在chicago2.Chicago2.main(Chicago2.java:19)
Java結果:1
第19行是:
System.out.println("Plays: "+y.getName());
工作環境:
產品版本:NetBeans IDE 7.3(Build 201302132200)
Java:1.7.0_17; Java的熱點(TM)64位服務器VM 23.7-B01
運行:爪哇(TM)SE運行時環境1.7.0_17-B02
系統:Linux版本在AMD64 2.6.32-41泛型運行; UTF-8; EN_US(NB)
截圖:
如果你讀到這裏,謝謝大家。
更好替換行
Mac
x = new Jugador(s);
靜止,改變爲'(Jugador X:jugadores)''到對(INT I = 0; I@Mac - 建議採取! – SudoRahul