Leerstring verbieten

Status
Nicht offen für weitere Antworten.
F

Fred Müller

Gast
Hallo

Ich suche seit längerem nach einem scheinbar einfachen Problem, finde aber keine Lösung.

Wie kann ich in JAVA dem Benutzer verbieten bei einem String, dass er einfach ein Leerstring ("") schreibt, anstatt ein Wort einzugeben. Grundsätzlich dürfte das Objekt nicht eröffnet werden, solange er kein Wort eingegeben hat.

Folgendes habe ich bereits versucht, aber es hilft nicht wirklich: 1. Length() definieren 2. String = "" mittels der if-Anweisung testen 3. isEmpty ()

Das Hauptproblem ist, dass ich zwar herausfinde, ob es ein Leerstring ist, aber das Objekt trotzdem eröffnet wird.

Ich hoffe, dass ich mein Problem verständlich erklärt habe.

Mit freundlichen Grüssen

Fred
 

L-ectron-X

Gesperrter Benutzer
Strings mit equals() vergleichen, dann geht das:
Code:
if(!eingabe.trim().equals("")) {
   //Objekt erzeugen etc.
}
 

andre111

Bekanntes Mitglied
entweder mit length()

Code:
if( string.length() == 0 )
{
    // nochmal eingeben
}

oder

Code:
if( string.equals( "" ) )
{
    // nochmal eingeben
}

oder mit nem Pattern

Code:
Pattern p = Pattern.compile( "[\s]*" );
Matcher m = p.matcher( string );

if( matcher.matches() )
{
    // nochmal eingeben
}

beim Pattern werden alle strings die nur aus whitespace zeichen bestehen nicht zugelassen
 
S

SlaterB

Gast
> Length() definieren

du meinst 'prüfen, ob length() == 0'??

> String = "" mittels der if-Anweisung testen

wenn du vergleichst, dann hoffentlich mit equals, nicht mit ==

> dass ich zwar herausfinde, ob es ein Leerstring ist, aber das Objekt trotzdem eröffnet wird.

was immer du mit 'Objekt öffnen' auch meinst, du musst einen Programmfehler haben,

wenn du absolut narrensicheren Code wie
Code:
System.out.println("gleich kommt if");
if (bedingung) {
  System.out.println("bedingung erfüllt"); 
  // tue was
} else {
  System.out.println("bedingung nicht erfüllt"); 
}
System.out.println("nach if");
hast, dann kannst du keinem erzählen, dass
// tue was
ausgeführt wird, obwohl die Bedingung nicht erfüllt ist,
derartige Fehler sind undenkbar und wären, wenn man annimmt, dass sie doch auftreten, ja auch nicht zu reparieren

es kann also nur an Fehlern in deinem Code liegen,
was deine Frage nun ohne Code bezweckt, verstehe ich weniger


edit: nanu, schon 2 Antworten?, hier ist doch sonst am Wochenende nix los ;)
 

2plus3

Mitglied
also ..

Code:
...
do{

  //String einlesen!

}while(string.equals(""));

die abfrage kannst du natürlich weiter ausbauen .. wenn du lust hast..
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben