![]() |
|
|
|||||||
| Java Basics - Anfänger-Themen Fragen ausschließlich zu Java-Grundlagen von Ein- und Umsteigern |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Nicht angemeldet
Fachbeiträge: n/a
|
Hallo!
Mein Problem ist folgendes: Ich lese eine Eingabe ein die eine zahl sein muss welche als int gespeichert wird. Ich würde gerne wissen ob es eine Möglichkeit gibt eine eine if-Schleife machen die ca. so funzt Code:
if (eingabe not int)
{
Out.println("Error)"
}
else (...)
Damit sich das Proggie nicht aufhängt. Hoffe jemand kann mir helfen!
|
| #2 (permalink) | |
|
Stammbenutzer
Kilobyte
Registriert seit: 19.09.2004
Fachbeiträge: 102
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Ne, das geht nur mit einer try-catch Anweisung. Du könntest aber auch jedes einzelne Zeichen des Eingabe-String durchgehen und prüfen, ob es sich um eine Ziffer von 0-9 handelt. Falls ein anderes Zeichen auftreten sollte, (z.B. Leerzeichen, Punkt, etc.) dann kannst du eine Fehlermeldung ausgeben und die Eingabe erneut erholen...aber mit einer try-catch Anweisung mit Exception wäre das Problem echt schöner zu lösen...
|
|
|
| #4 (permalink) | |
|
Java-Forum Team
Site Operator
Registriert seit: 24.04.2004
Fachbeiträge: 11.917
Abgegebene Danke: 47
Erhielt 565 Danke für 528 Beiträge
|
Eigendlich sollten Programme so designed werden, dass sie erst gar keine Exceptions werfen.
Du kannst es grob so lösen: Code:
for( int i = 0; i < eingabe.length(), i++) {
if Character.isLetter(eingabe.charAt(i))) {
//Fehlermeldung ausgeben
}
}
__________________
Schöne Grüße, L-ectron-X Programmieren lernt man nur durch programmieren. www.java-forum.org - Java programmieren aus Leidenschaft www.byte-welt.de - Die Welt des Programmierens "Wenn man die Buchstaben von Bundeskanzlerin umstellt, kommt Bankzinsenluder raus..." |
|
|
| #6 (permalink) | |
|
Nicht angemeldet
Fachbeiträge: n/a
|
Hallo Melbi,
programme hängen sich nicht auf, dafür gibt es ja Exceptions. Also pass auf, es geht leicht und es geht schwer. Das kommt aber meist darauf an, wieviel man schon kann. eine Lösung, die ich nehmen würde. Code:
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
String line = "";
int eintollerwert = 0;
while (line != null) {
System.out.print("> ");
try {
line = keyboard.readLine();
try {
eintollerwert = Integer.parseInt(line);
}
catch (NumberFormatException nfe) {
/* nichts */
}
} catch (IOException e) { /* nichts */ }
}
Ciao mirbur |
| #7 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 24.05.2004
Fachbeiträge: 1.685
Abgegebene Danke: 0
Erhielt 6 Danke für 1 Beitrag
|
So:
Code:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int eingabe;
w:while (true) {
try {eingabe = Integer.parseInt(in.readLine());break w;} catch (Exception e) {}
}
__________________
miis
|
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Prüfen von Nachkommastellen | gast | Java Basics - Anfänger-Themen | 1 | 27.12.2007 07:43 |
| connectionstatus prüfen | Stradi | Datenbankprogrammierung | 9 | 11.07.2006 15:39 |
| Prüfen mit FileWriter | Java Basics - Anfänger-Themen | 6 | 12.04.2005 13:13 | |
| DTD benutzen um XML zu prüfen | PhantomXXL | XML und Co. | 6 | 29.03.2005 08:47 |
| Vector prüfen? | H2SO4 | Java Basics - Anfänger-Themen | 5 | 22.01.2005 18:45 |
| Lesezeichen |
|
|