-1
Ich erhalte eine Fehlermeldung:Java ParseInt Fehler
Exception in thread "main" java.lang.NumberFormatException: null
at java.lang.Integer.parseInt(Integer.java:542)
at java.lang.Integer.parseInt(Integer.java:615)
at Maze.<init>(Maze.java:24)
at Assignment1.main(Assignment1.java:13)
Ich habe zwei Klassen, Irrgarten und Assignment1:
`import java.io. ; importieren Sie java.util.;
public class Maze
{
private Vertex[] rooms;
private String a = "";
public Maze(String filename)
{
BufferedReader readFile = null;
String line, roomname;
int roomXcoord, roomYcoord, room1 = 0, room2 = 0;
try{
readFile = new BufferedReader(new FileReader("C:\\Users\\Parth\\Documents\\try.maze"));
line = readFile.readLine(); //next line
while (line != null) {
System.out.println(line);
line = readFile.readLine();
} //end first - while
int temp = Integer.parseInt(line);
rooms = new Vertex[temp];
for(int i=0; i <rooms.length; i++)
{
StringTokenizer strk = new StringTokenizer(line, " ");
roomname = strk.nextToken();
roomXcoord = Integer.parseInt(strk.nextToken());
roomYcoord = Integer.parseInt(strk.nextToken());
rooms[i] = new Vertex(roomname, roomXcoord, roomYcoord);
}
line = readFile.readLine();
while (room1 != -1 && room2 != -1)
{ line=readFile.readLine();
StringTokenizer strk =new StringTokenizer(line," ");
room1=Integer.parseInt(strk.nextToken());
room2=Integer.parseInt(strk.nextToken());
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
public Vertex[] getRooms()
{
return rooms;
}
public String toString()
{
for (int i=0; i<rooms.length; i++){
a = rooms[i].getName() + " " + rooms[i].getXCoord() + " " + rooms[i].getYCoord() +"\n";
}
return a;
}//end toString
}//end Maze`
import java.io.IOException;
import java.io.*;
import java.util.*;
/**
*
*
*
*/
public class Assignment1 {
public static void main(String[] args){
Maze newMaze = new Maze(null);
System.out.println(newMaze.toString());
}
}
Inull verstehen ist der Fehler, aber ich bin noch in der Lage meine Eingabedatei, um zu sehen, das ist:
Der Fehler auf Maze-Klasse auf der Linie erscheint 24: int temp = Integer.parseInt(line);
und in Die Klasse assignment1 in Zeile 13: Maze newMaze = new Maze(null);
Wie kann ich diesen Fehler beheben?
Es scheinen würden Sie einen 'null' Wert auf' int' zu analysieren sind versucht, Sie gehen zu haben, um Ihren Code zu debuggen, um herauszufinden, warum – MadProgrammer
Nach dieser 'while (Linie! = Null) {'' line' ist jetzt 'null', also natürlich 'Integer.parseInt (line);' wird fehlschlagen –
Ich sehe in Ihren einfachen Eingabezeilen ein Zeichen anstelle von Zahlen, Sie können int.tryParse() verwenden, um das Auslösen einer Ausnahme zu vermeiden in diesem Fall –