gicio Geschrieben 29. November 2001 Geschrieben 29. November 2001 hi! ich hab ein kleines problem...... also... ich will die PLZ durch eine tastatur einlesen tastatur ist ein String (und muss ein string sein....(brauch ich für andre eingaben noch) das was eingegeben wird (bei PLZ eine zahl) wird in einen string umgewandelt... das klappt alles wunderbar...bloss wenn ich jetzt stat einer zahl ein buchstabe eingebe bekomm ich ja eine fehlermeldung des kompilers.... ich will aber nicht das das passiert ich will das die fehlermeldung "Fehler bei der Eingabe" angezeigt wird, und mann es erneutversuchen kann. ich hab mich mit den problem heute den halben tag aussereinander gesetzt und hab keine lösung gefunden auch nicht in der JAVA doku. hat einer von euch vielleicht eine lösung für mich? public void Neu() { BufferedReader eingabe = new BufferedReader(new InputStreamReader (System.in) ); Person person = new Person(); PersonAddress paddress = new PersonAddress(); String tastatur; try { System.out.println("Bitte geben Sie die PLZ ein :"); tastatur = eingabe.readLine(); Integer test = new Integer(tastatur); int test1 = test.intValue(); paddress.setPlz(test1); } catch(IOException e) { System.out.print("Fehler bei der Eingabe!"); } } Zitieren
gicio Geschrieben 29. November 2001 Autor Geschrieben 29. November 2001 hab auch das versucht: System.out.println("Bitte geben Sie die PLZ ein :"); tastatur = eingabe.readLine(); try { Integer.parseInt(tastatur); } catch(NumberFormatException nfe) { System.out.println("ERROR!!!"); } int plz = Integer.parseInt(tastatur); paddress.setPlz(plz); es klpt aber auch nicht!! weil... fehlermeldung: Bitte geben Sie die PLZ ein : fe ERROR!!! Exception in thread "main" java.lang.NumberFormatException: fe at java.lang.Integer.parseInt(Integer.java:414) at java.lang.Integer.parseInt(Integer.java:463) at HauptMenu.NeuKaufvertrag(HauptMenu.java:151) at HauptMenu.NeuMenu(HauptMenu.java:1052) at HauptMenu.display(HauptMenu.java:677) at HauptMenu.<init>(HauptMenu.java:114) at HauptMenu.main(HauptMenu.java:15) Zitieren
Gast Os-T Geschrieben 30. November 2001 Geschrieben 30. November 2001 Hi, Du fängst den Fehler ab und wandelst dann trotzdem um (nach dem Catch), daher bekommst Du zwar den Error, aber dann eben auch die Exception. Du mußt dafür sorgen, daß die Umwandlung nur dann stattfindet, wenn Du keine Exception hast. Gruß Markus Zitieren
gicio Geschrieben 30. November 2001 Autor Geschrieben 30. November 2001 meinst du das etfer so? System.out.println("Bitte geben Sie die PLZ ein :"); tastatur = eingabe.readLine(); try { Integer.parseInt(tastatur); int plz = Integer.parseInt(tastatur); paddress.setPlz(plz); } catch(NumberFormatException nfe) { System.out.println("ERROR!!!"); } Zitieren
Gast Os-T Geschrieben 30. November 2001 Geschrieben 30. November 2001 Hi, ja so ungefähr hab ich mir das vorgestellt. Du mußt jetzt natürlich um das Ganze eine Schleife bauen, daß der User so lange was eingeben muß bis er keinen Fehler mehr macht. Gruß Markus Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.