Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
eingabe - buchstabe wird in integerzahl umgewandelt
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.
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:
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!
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();
}
}