Wie auf leere Benutzereingabe (int) prüfen?

DrPCox

Mitglied
Hallo,

ich habe ein Programm, bei dem ein Benutzer zur Eingabe einer Integer aufgefordert wird. Wie kann ich nun überprüfen, ob der Benutzer was eingegeben hat?

Wenn ich sowas mache:

Java:
int eingabe = benutzereingane;
if (eingabe == null) {ausüben}
dann meckert Eclipse, dass der ==Operator für int, null nicht verfügbar wäre.

Ich danke schon mal für die Hilfe.
 
G

Gast2

Gast
Wo kommt den [c]benutzeriengabe[/c] her?

Wenn du nicht groß was ändern willst:
Java:
Integer eingabe = benutzereingane;
if (eingabe == null) {ausüben}
 

Mujahiddin

Top Contributor
Hallo.
Wie du schon sagst, ein int kann nicht null sein, weil int kein Objekt ist.
Da der User wahrscheinlich über ein Textfeld ein Integer eingeben soll (denke ich mal), kannst du ja mit der Abfrage
Java:
if(myTextFeld.getText().length() == 0) // keine Eingabe!
oder, wenn du verhindern willst, dass auch normale Strings, also Nichtzahlen eingegeben werden:
Java:
int eingabe;
try{ eingabe = Integer.parseInt(myTextField.getText()); }
catch(NumberFormatException e)
{ myLabel.setText("Bitte Zahl eingeben!"); }
Grüße.
 

DrPCox

Mitglied
Die benutzereingabe kommt über ein paket namens "GraphicIO". Wurde uns vom Lehrstuhl zur Verfügung gestellt.

geht es noch anders als mit "Integer". Die Struktur mit "int" ist uns leider vorgegeben :(
 

DrPCox

Mitglied
Und die eingabe erfolt schon als int....

das ganze sieht im Original so aus:

Java:
int eingabe = GraphicIO.readInt("Bitte geben sie eine Zahl ein");

angenommen nichts würde eingegeben und die aufforderung einfach weggeklickt...was würde dann in "eingabe" stehen?
 
G

Gast2

Gast
Probier es aus? Das kommt darauf an wie die Klasse GraphicIO mit sowas umgeht. Ich würde wohl eine Exception werfen in dem Fall.
 

Mujahiddin

Top Contributor
Versuch es doch über ein String...
Java:
String eingabe = GraphicIO.readString("Bitte Zahl eingeben");
int eingabeZahl;
if(eingabe.length() == 0)
{
    //Keine Zahl wurde eingegeben!
}
else
{
   eingabeZahl = Integer.parseInt(eingabe);
}
 
G

Gast2

Gast
Wenn GraphicIO die Methode readInt hat

Java:
public static int readInt(String message){
...
}

Dann MUSS sie auch ein [c]int[/c] zurückgeben ODER eine Exception werfen. [c]null[/c] ist nicht möglich. Also musst du mal sehn wie GraphicIO in dem Fall arbeitet (z.B. return 0 oder einen anderen default Wert) wenn das Dialog Fenster weggeklickt wird. Einfach ausprobieren.

Java:
int eingabe = GraphicIO.readInt("Bitte geben sie eine Zahl ein");
System.out.println(eingabe);

Dann ausführen und Dialog Fenster wegklicken. Was steht nun auf der Konsole?
 
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Und dann? Ist das Programm beended? Gibt es dir eine weitere Chance? ...

Ist doch alles gut. GraphicIO erkennt das du kein int eingegeben hast und lässt dich nicht weitermachen. Sprich du musst nicht in deinem Code prüfen ob es eine gültige Eingabe gab oder nicht.
 

newbie2009

Bekanntes Mitglied
oder versuch sowas :

Java:
String eingabe = GraphicIO.readString("geben sie einen wert ein ");
int wert;
if(eingabe==null){
System.out.pritnln("ungültige eingabe");
} else{wert=Integer.parseInt(eingabe);
}

somit hast den wert dann auch als primitiven Datentypen Integer. :) sollte funktionieren .
 

U2nt

Bekanntes Mitglied
Oder man setzt den wert des int vorher auf zb -1 und prueft dann ob der wert sich geaendert hat oder immernoch -1 is... Dann kann man halt nurnet -1 eingebe
 
G

Gast2

Gast
Nein, ist definitiv nicht "elegant". Was ist wenn der User -1 eingeben will? Elegant ist was anderes als genau einen Wert zu blacklisten...

Wie ich schon oben sagte: Die Funktion MUSS eine int zurückgeben oder eine Exception werfen. Irgendwelche faulen defaults auswerten musst du nicht in deiner Anwendung. Du kannst dich drauf verlassen das GraphicIO dir einen gültigen Wert übergibt. Den kannst du natürlich noch validieren, z.B. testen ob der Wert in einem von dir definierten Gültigkeitsbereich liegt - aber du musst, bzw kannst nicht verifizieren ob [c]null[/c] übergeben wurde - [c]GraphicIO.readInt[/c] kann NIEMALS [c]null[/c] zurückgeben.
 

DrPCox

Mitglied
Nein, ist definitiv nicht "elegant". Was ist wenn der User -1 eingeben will? Elegant ist was anderes als genau einen Wert zu blacklisten...
Doch, in diesem Fall ist es die eleganteste Lösung, weil Eingaben vom User, die kleiner als 1 sind, abgefangen werden und er solange zu einer neuen Eingabe aufgefordert wird, bis eine gültige Eingabe erfolgt ist.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Leere Zeilen in Textdatei löschen lassen Java Basics - Anfänger-Themen 5
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
L Java erstellt leere Datei Java Basics - Anfänger-Themen 8
R Zu viele leere Parameter Java Basics - Anfänger-Themen 8
J Datentypen CSV to DB Leere Zellen in CSV mit Inhalt? Java Basics - Anfänger-Themen 11
H Leere Eingabe in einem array Java Basics - Anfänger-Themen 11
MiMa Leere Datei ist nicht Leer ?? Java Basics - Anfänger-Themen 6
D Datenbankzugriff - Leere Zeile einfügen Java Basics - Anfänger-Themen 2
G Leere Zeile lesen Java Basics - Anfänger-Themen 12
A Leere Datei wird ohne Inhalt geschrieben, obwohl Inhalt geschrieben wurde. Java Basics - Anfänger-Themen 4
H Leere Anweisung Java Basics - Anfänger-Themen 24
N CaretListener: leere Textfelder = Button sperren Java Basics - Anfänger-Themen 11
T Sting -> Array, leere Stellen löschen Java Basics - Anfänger-Themen 6
K HashMap auf leere Key-Value-Paare prüfen Java Basics - Anfänger-Themen 14
X Erste Schritte Java JTable leere Reihen löschen Java Basics - Anfänger-Themen 2
E leere Ausgabe Java Basics - Anfänger-Themen 5
N leere JTextArea wird nicht angezeigt - TextArea aber schon? Java Basics - Anfänger-Themen 5
M File.ser auf leere checken Java Basics - Anfänger-Themen 17
N Fehlerquelle leere ArrayList elegant abfangen Java Basics - Anfänger-Themen 3
S Leere Datei erkennen Java Basics - Anfänger-Themen 5
P Leere Arraylist hat size von 1? Java Basics - Anfänger-Themen 3
B JList und JTable: leere Zeilen bei listfiles(); Java Basics - Anfänger-Themen 5
A Leere Fläche einer Tabelle umfärben Java Basics - Anfänger-Themen 3
N Scanner next() oder nextLine() zur prüfung auf leere Eingabe... Java Basics - Anfänger-Themen 6
B BufferedWriter - nur leere Datei erstellt Java Basics - Anfänger-Themen 4
G Leere Datei löschen? Java Basics - Anfänger-Themen 3
G leere columns "verstecken" Java Basics - Anfänger-Themen 5
G leere Ordner befinden sich nicht im Zip-Archiv Java Basics - Anfänger-Themen 8
K Leere Stelle im Array finden und ersetzen Java Basics - Anfänger-Themen 10
D String mit split teilen und leere Felder behalten Java Basics - Anfänger-Themen 4
G RegEx für leere IP Adresse? Java Basics - Anfänger-Themen 13
J POI: Leere Excel Zellen Java Basics - Anfänger-Themen 3
S In einer CSV Datei leere Zeilen ignorieren Java Basics - Anfänger-Themen 6
J Leere Textfields automatisch mit einem Wert ausfüllen Java Basics - Anfänger-Themen 3
S Leere Menge von integer Java Basics - Anfänger-Themen 3
R leere Zeichenkonstante? Java Basics - Anfänger-Themen 12
G Leere java.util.List erzeugen Java Basics - Anfänger-Themen 2
M Benutzereingabe eines Codes verbessern Java Basics - Anfänger-Themen 3
D Input/Output Problem bei der Benutzereingabe eines Befehls Java Basics - Anfänger-Themen 14
D Input/Output Befehl aus Benutzereingabe herausfiltern Java Basics - Anfänger-Themen 12
J Stack mit Benutzereingabe Java Basics - Anfänger-Themen 17
A Reader für Benutzereingabe in Eclipse importieren Java Basics - Anfänger-Themen 3
Z Benutzereingabe überprüfen. Java Basics - Anfänger-Themen 2
B Input/Output Benutzereingabe mit BufferedReader Java Basics - Anfänger-Themen 7
NR_EIGHT Benutzereingabe in Funktion verpacken Java Basics - Anfänger-Themen 4
T Benutzereingabe in form von string wieder ausgeben in JOptionPane Java Basics - Anfänger-Themen 14
F Median berechnen, Benutzereingabe Problem! Java Basics - Anfänger-Themen 14
S Benutzereingabe über Scanner Klasse korrekt behandeln Java Basics - Anfänger-Themen 9
C Benutzereingabe Java Basics - Anfänger-Themen 41
D Benutzereingabe mit for-Schleife Java Basics - Anfänger-Themen 9
S Überprüfung Benutzereingabe Java Basics - Anfänger-Themen 5
J Programm beenden via Benutzereingabe Java Basics - Anfänger-Themen 8
K Objektname - Benutzereingabe? Java Basics - Anfänger-Themen 10
S Problem bei Benutzereingabe Java Basics - Anfänger-Themen 9
G Benutzereingabe auf Konsole maskieren (Passworteingabe) Java Basics - Anfänger-Themen 4
S Benutzereingabe - Gross und Kleinschreibung ignorieren Java Basics - Anfänger-Themen 7
C Benutzereingabe vergleichen Java Basics - Anfänger-Themen 3
G Benutzereingabe Java Basics - Anfänger-Themen 2
G Benutzereingabe entgegennehmen Java Basics - Anfänger-Themen 9
U Benutzereingabe die Zeichen einzeln bearbeiten Java Basics - Anfänger-Themen 7
G Benutzereingabe erzwingen Java Basics - Anfänger-Themen 3
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
J Schlüsselworte Prüfen, ob ein bestimmtes, ganzes Wort in einem String enthalten ist. Java Basics - Anfänger-Themen 6
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
S Prüfen ob ein zweidimensionales Array rechteckig ist Java Basics - Anfänger-Themen 4
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
Fiedelbambu Prüfen von Komma stelle beim Taschenrechner Java Basics - Anfänger-Themen 5
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
I Auf vollen Monat prüfen? Java Basics - Anfänger-Themen 22
A Dateiname auf Vorkommen prüfen Java Basics - Anfänger-Themen 29
I Prüfen, ob Anzahl an Monate ein Jahr ergeben Java Basics - Anfänger-Themen 4
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
W Klasse existiert prüfen Java Basics - Anfänger-Themen 5
Q Prüfen ob Zahl als Summe von Potenzen dargestellt werden kann. Java Basics - Anfänger-Themen 20
U Kann man bei Java gleich mehrere Bedingungen prüfen in der If, aber in einem "Satz"? Java Basics - Anfänger-Themen 1
O Ich ahbe einen char und diesen soll ich bei .matches prüfen, also ob der char in meiner Zeichenkette vorhanden ist, wie mache ich das? Java Basics - Anfänger-Themen 9
B Array nach Wert prüfen rekursiv Java Basics - Anfänger-Themen 5
G Strings auf Gleichheit prüfen - Aufgabe vom Prof. Java Basics - Anfänger-Themen 5
M Array auf Primzahlen prüfen Java Basics - Anfänger-Themen 7
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
J ArrayList auf bereits vorhanden eintrag prüfen Java Basics - Anfänger-Themen 5
X Zwei Dimensionales Array prüfen Java Basics - Anfänger-Themen 1
B Prüfen, ob Zeit Überschreitung Java Basics - Anfänger-Themen 2
B Sudoku prüfen Java Basics - Anfänger-Themen 13
M Prüfen auf null ohne NPE Java Basics - Anfänger-Themen 1
X Array auf Leerstellen prüfen Java Basics - Anfänger-Themen 1
FelixN Prüfen, ob ein 2D-Array rechteckig ist Java Basics - Anfänger-Themen 42
C Erste Schritte JComboBox Einträge auf Duplikat prüfen Java Basics - Anfänger-Themen 4
M prüfen ob alle array werte gleich sind Java Basics - Anfänger-Themen 27
C Array auf Null-Inhalte prüfen Java Basics - Anfänger-Themen 9
B Prüfen, ob Country Code in Europa ist? Java Basics - Anfänger-Themen 24
L Prüfen ob Fax (Tif-Datei) vollständig angekommen ist Java Basics - Anfänger-Themen 15
O Datenstruktur auf SET prüfen in O(n) Java Basics - Anfänger-Themen 32
O Einzelne Bits umwandeln und prüfen Java Basics - Anfänger-Themen 23
U Mehrfacheingabe auf bestimmte Parameter prüfen Java Basics - Anfänger-Themen 8
B Prüfen, ob Datum2 der gleiche Tag ist wie Datum1 Java Basics - Anfänger-Themen 10
Dimax Erste Schritte String Eingabe Prüfen Java Basics - Anfänger-Themen 11
S char auf buchstabe/zeichen prüfen Java Basics - Anfänger-Themen 1
S Array doppelter Wert prüfen Java Basics - Anfänger-Themen 7

Ähnliche Java Themen

Neue Themen


Oben