L3V*_*3V0 -1 java arrays nullpointerexception
我做错了什么?我认为这是因为阵列.行号现在不正确,因为我不得不将文字缩短一点,对不起.
Exception in thread "main" java.lang.NullPointerException
at Team.<init>(Team.java:43)
at Team.main(Team.java:30)
Run Code Online (Sandbox Code Playgroud)
码:
public static void main(String[] args)
{
System.out.println("Dein Fußballteam in der ersten Bundesliga!");
int[] Spieler = new int[20];
int Torschützen[] = new int[10];
Team myTeam = new Team();
myTeam.einfacheNachricht();
}
public Team()
{
TeamSpieler = new Spieler[20];
Scanner team = new Scanner(System.in);
for (int i=0; i<20;i++){
System.out.println("Bitte geben Sie den Namen des Spielers " + i + " ein: ");
TeamSpieler[i].Name = team.nextLine();
System.out.println("Bitte geben Sie das Alter des Spielers " + i + " ein: ");
TeamSpieler[i].Alter = team.nextInt();
System.out.println("Bitte geben Sie die Tore des Spielers " + i + " ein: ");
TeamSpieler[i].Tore = team.nextInt();
}
System.out.println("Bitte geben Sie den Namen ihres Teams ein: ");
Teamname = team.nextLine();
team.close();
}
Run Code Online (Sandbox Code Playgroud)
这一行:
TeamSpieler = new Spieler[20];
Run Code Online (Sandbox Code Playgroud)
不创建20
新Spieler
的,它只创建20
Spieler
引用,初始化为null
.
为了避免NullPointerException
s,你需要做
TeamSpieler[i] = new Spieler();
Run Code Online (Sandbox Code Playgroud)
为每个人i
.
另外,请遵循Java
编码标准,变量名称应以小写字母开头.
归档时间: |
|
查看次数: |
7840 次 |
最近记录: |