eingabe - buchstabe wird in integerzahl umgewandelt

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo
ich hab ein kleines Problem:

Mein Programm soll eine Eingabe einlesen und überprüfen ob es sich hierbei um eine zulässige Eingabe handelt. Es sollen nur ganze Zahlen erlaubt sein!

Leider wandelt mein Programm Buchstaben ebenfalls nach der eingabe in Integerzahlen um... was kannich machen?

Code:
System.out.println("Bitte geben Sie die Breite des Rahmens ein ");
		rahmen = AdvancedIO.readInt();  //mit dieser funktion wird der wert eingelesen
		
		if (rahmen >= 0) {
			a= '1'; 
		}
               else rahmen =0;


ich denke mal für euch :meld: :meld: :meld: ist die aufgabe hier ein witz o0 aber ich arbeite erst seit einer Woche mit Java... und da muss ich halt noch vieles nachlesen bzw nachfragen :### :bloed:
 
Die Klasse AdvancedIO ist kein Standard-Java, sondern stammt irgendwo anders her. Falls du mit einem Buch arbeitest, tippe ich darauf, dass der Autor da eigene Klassen beigelegt hat, in diesem Fall vierteile ihn am Besten 😉

Da ich diese Klasse nicht kenne, kann ich dir nicht helfen.
 
Anonymous hat gesagt.:
Hallo
ich hab ein kleines Problem:

Mein Programm soll eine Eingabe einlesen und überprüfen ob es sich hierbei um eine zulässige Eingabe handelt. Es sollen nur ganze Zahlen erlaubt sein!

Leider wandelt mein Programm Buchstaben ebenfalls nach der eingabe in Integerzahlen um... was kannich machen?

Code:
System.out.println("Bitte geben Sie die Breite des Rahmens ein ");

		rahmen = d; //es hat also jmd statt einer Zahl nen Buchstaben eingetippt!
		
		if (rahmen >= 0) {
			a= '1'; 
		}
               else rahmen =0;


ich denke mal für euch :meld: :meld: :meld: ist die aufgabe hier ein witz o0 aber ich arbeite erst seit einer Woche mit Java... und da muss ich halt noch vieles nachlesen bzw nachfragen :### :bloed:


geht auch ohne die funktion 😉 so besser?
 
Nee... da das normalerweise nicht geht. Was fürn Datentyp hat denn rahmen? Ich schätze mal int... zuweisen kannst du da maximal nen char, der sich direkt in ein int casten lässt sprich so: rahmen = (int) zeichen; ... ähnliches wird die Methode readInt tun - eine schlaue readInt-Methode würde buchstaben grundsätzlich vorher rausfiltern!
 
Probiere mal.

Code:
import java.io.*;

public class NurGanzeZahlen {
   private BufferedReader reader;

   public NurGanzeZahlen() {
      reader = new BufferedReader(new InputStreamReader(System.in));
      System.out.print("Bitte geben Sie die Breite des Rahmens ein: ");
      try {
         int zahl = Integer.parseInt(reader.readLine());
         System.out.println("Eingabe OK! :-)");
      }
      catch(NumberFormatException nfe) {
         System.out.println("Das eingegebene Zeichen ist keine ganze Zahl!");
      }
      catch(IOException ioe) {
         System.out.println("Fehler beim Lesen von der Tastatur!");
      }

   }
   
   public static void main(String[] args) {
      new NurGanzeZahlen();
   }
}
 
so hab mich direkt mal registirert 😉


danke für die antwort!!! ich werds mal ausprobieren!


@Sn00p: das is halt ne dumme readint methode o0
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben