aber statt sysout bei einer fehlerhaften eingabe gibt mir die console einfach nur errors aus:
Code:
Exception in thread "main" java.lang.NumberFormatException: For input string: "ä"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
also ich hab das ganze aus einem buch abgeschrieben...:rtfm:da sind noch 2 andere klassen mit dabei... heir mal der gesamte code... dem einen oder anderen sollte es bekannt vorkommen
nur ich verstehe es nicht wieso er mir die exception nicht ausgibt sondern error... es werden doch quasie alle abgefangen oder?!
Java:
package dotComEinfach;publicclassDotComSpiel{publicstaticvoidmain(String[] args){int anzahlTipps=0;SpielHelfer helfer=newSpielHelfer();EinfachesDotCom dasDotCom=newEinfachesDotCom();int zufallsZahl=(int)(Math.random()*6);int orte[]={zufallsZahl,zufallsZahl+1,zufallsZahl+2};
dasDotCom.setZellorte(orte);boolean lebt=true;while(lebt==true){String tipp= helfer.getBenutzereingabe("raten sie eine zahl(zwischen 0-5) ");String ergebnis =dasDotCom.prüfDich(tipp);
anzahlTipps++;if(ergebnis.equals("versenkt")){
lebt=false;System.out.println("sie haben "+anzahlTipps+" versuche benötigt");}}}}
readLine() braucht catch(IOException, soviel gibt der Compiler vor,
catch(NumberFormatException müsste wenn dann als zusätzlicher Block dazukommen oder zusammen catch(Exception,
bzw. alles nachzulesen
die NumberFormatException wird beim parseInt auftreten
ha ich hab mir das schon gedacht das es daran liegen könte wegen dem datentyp aber wieso wird denn nicht alles bzw alle falscheingaben sprich buchstaben nicht abgefangen??
> wegen dem datentyp
was liegt an welchem Datentyp? dass man einen Buchstaben 'ä' nicht zu einer Zahl parsen kann liegt in der Natur des Lebens,
was vermutest du?
> wieso wird denn nicht alles bzw alle falscheingaben sprich buchstaben nicht abgefangen??
weil du es noch nicht programmiert hast oder was genau erwartest du, soll von selbst wo passieren?
nein ^^ natürlich nicht aber ich dachte es würden alle exceptions abgefangen werden durch das was da schon steht... ja das ä zu keiner zahl phasen geht okay seh ich ein(oder würde da nicht der ascci code rauskommen???:Lnaja anderes thema)
ich glaub ich bin grade einfach zu müde ^^ müsste ich jetzt noch einen 2te ty catch block machen der buchstaben(bzw deren exception) oä abfängt?
wenn ein try/catch um eine Code-Zeile links steht, dann wird bei einer anderen Code-Zeile rechts die Exception nicht abgefangen,
vergleichbar mit zwei Schafen im Regen, das eine unter einem Dach, das andere draußen auf der Wiese..
vor dem Programmieren erstmal zu jeder Code-Zeile ungefähr wissen, was sie macht,
vor 16.30 am besten nicht mehr posten, sondern die Zeit zum Denken oder Nickerchen nutzen
naja nickerchen auf der arbeit kommt nicht so gut^^
im großen und ganzen habe ich ja alles verstanden was da wo was macht und so nur das mit der exception hab ich dann nicht verstanden weil ich gedacht habe die eingabe ist and er stelle also muss ja auch da abgefangen werden
aber das pharsen is ja in der anderen klasse und daher kommt dann der fehler...?! right?
wow das denken hat doch noch vor 16:30 geklappt :toll: