K
Knut.hb
Gast
Ja hallo erstma,
ich hab mir heute schon ziemlich den Kopf zerbrochen. Nun gut erstmal zu den Rahmen Bedingungen, ich bastel zur Zeit an einer CUI Version von dem Spiel Risiko. Im speziellen geht es mir jetzt erstmal um die Länder Verwaltung. Ich habe eine "dumme" Klasse Land. In ihr wird nur der jeweilige Name und die jeweiligen Nachbarschaftsbeziehungen zu den anderen Ländern gespeichert. (ArrayList). Damit ich nicht die ganzen Beziehungen einzelnd aufzählen muss wollte ich mir einer kleine Prozedur dafür schreiben, die die Länder beziehungen aus einer .txt Datei einliest. Das ganze sieht in etwa so aus(hab nur das wichtige rausgezogen):
Meine Nachbarn2.txt ist wie folgt aufgebaut :
1,2,!
,0,2,!
,0,1,!
(In der Originalen sind es natürlich einige mehr ) Beim kompilieren bekomme ich aber ständig den Fehler: "Exception in thread "main" java.lang.NumberFormatException: For input string: "!"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at KSKB.generateNachbarList(KSKB.java:60)
at KSKB.<init>(KSKB.java:26)
at KSKB.main(KSKB.java:66)
Aber eigentlich sollte parseInt doch garnicht ausgeführt werden wenn ein"!" kommt. Ich hoffe mir kann jemand weiterhelfen. Schonma danke im vorraus.
MfG der Knut
ich hab mir heute schon ziemlich den Kopf zerbrochen. Nun gut erstmal zu den Rahmen Bedingungen, ich bastel zur Zeit an einer CUI Version von dem Spiel Risiko. Im speziellen geht es mir jetzt erstmal um die Länder Verwaltung. Ich habe eine "dumme" Klasse Land. In ihr wird nur der jeweilige Name und die jeweiligen Nachbarschaftsbeziehungen zu den anderen Ländern gespeichert. (ArrayList). Damit ich nicht die ganzen Beziehungen einzelnd aufzählen muss wollte ich mir einer kleine Prozedur dafür schreiben, die die Länder beziehungen aus einer .txt Datei einliest. Das ganze sieht in etwa so aus(hab nur das wichtige rausgezogen):
Code:
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class KSKB {
FileReader reader2=null;
List <Land> länder= new ArrayList <Land>();
public KSKB(String pfad){
Land land1=new Land("DiesesLand");
Land land2=new Land("JenesLand");
Land land3=new Land("WelchesLand");
länder.add(land1);
länder.add(land2);
länder.add(land3);
try{
filereader("./src/Nachbarn2.txt");
for(int i=0;i<=1;i++){
länder.get(i).setNachbarn(generateNachbarList());
}
closereader();
}catch(IOException e){
System.out.println(e.getMessage());
}
}
public void filereader(String pfad) throws FileNotFoundException{
reader2=new FileReader(pfad);
}
public void closereader() throws IOException{
reader2.close();
}
public String readNachbar() throws IOException{
String s="";
for(int c;(c=reader2.read())!=44;){ //44= Ascii Dec. für "," fungiert als Trennzeichen der Parameter
s=s+(char)c;
}
if(s=="!"){ //"!" Trennzeichen für das Ende aller Parameter für ein Objekt
return null;
}else
return s;
}
public List<Land> generateNachbarList() throws IOException{
List<Land>nachbarn=new ArrayList<Land>();
for(String c;(c=readNachbar())!="!";){
nachbarn.add(länder.get(Integer.parseInt(c)));
}
return nachbarn;
}
public static void main(String args[]){
KSKB dashier = new KSKB("./src/Nachbarn2.txt");
}
}
Meine Nachbarn2.txt ist wie folgt aufgebaut :
1,2,!
,0,2,!
,0,1,!
(In der Originalen sind es natürlich einige mehr ) Beim kompilieren bekomme ich aber ständig den Fehler: "Exception in thread "main" java.lang.NumberFormatException: For input string: "!"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:447)
at java.lang.Integer.parseInt(Integer.java:497)
at KSKB.generateNachbarList(KSKB.java:60)
at KSKB.<init>(KSKB.java:26)
at KSKB.main(KSKB.java:66)
Aber eigentlich sollte parseInt doch garnicht ausgeführt werden wenn ein"!" kommt. Ich hoffe mir kann jemand weiterhelfen. Schonma danke im vorraus.
MfG der Knut