我刚开始使用Java。我正在尝试制作一个简单的(几乎是 Hello world)程序:
- 用户输入三个玩家的名字
- 程序打印这三个名字
- 结尾
玩家等级被称为“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: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)
爪哇:1.7.0_17;Java HotSpot(TM) 64 位服务器 VM 23.7-b01
运行时:Java(TM) SE 运行时环境 1.7.0_17-b02
系统:Linux 版本 2.6.32-41-generic 运行在 amd64 上;UTF-8;en_US (注)
截屏:
如果你读到这里,谢谢。