Programmablauf

Status
Nicht offen für weitere Antworten.

kwonilchang

Aktives Mitglied
Hallo!

Habe ein Problem bei der Programmierung einer textuellen Benutzerschnittstelle (Shell):

In einer while-Schleife wird fortlaufend eine Benutzereingabe eingelesen und verarbeitet, bis der User das Programm mit quit beendet. Innerhalb dieser Schleife habe ich nun die verschiedenen Eingabemöglichkeiten und ihre Verarbeitung programmiert.

An erster Stelle soll geprüft werden, ob der Benutzer nicht eine Leerzeile eingegeben hat. In diesem Fall soll das Programm eine entsprechende Meldung ausgeben und mit dem Einlesen fortfahren.

Code:
if (input == null) {
                    System.out.println("Error! Keine Eingabe!\n");
                    break;
                }

Mit dieser if-Abfrage erreiche ich zwar, dass die Meldung ausgegeben wird, allerdings wird das ganze Programm wg. break beendet und es erfolt keine weitere Eingabeaufforderung.

Ohne das break wirft das Programm eine Exception, die ich aber nicht catchen darf. Gibt es da eine andere Möglichkeit, wie diese if-Abfrage gestaltet werden kann?

Danke schonmal!
 
M

MiDniGG

Gast
1.) Exceptions müssen gecatched werden. Für was sind se denn da? ^^

2.) Vllt. mal das break durch ein continue; ersetzen? Ich weiß nicht ob das was hilft. Nur ne vermutung... Dann sollte es weiterlaufen statt aus der while raus zu springen...
 

ARadauer

Top Contributor
du hast es wahrscheinlich irgendwie so...

Java:
      if(input == null){
         System.out.println("Error! Keine Eingabe!\n");
      }
      
      if(input.equals("ausgabe")){
         System.out.println("mach ausgabe");
      }


es gibt 2 möglichkeiten....

einfach einen else zweig, ist der erste zweig true geht das programm gar nicht mehr in den else zweig...

Java:
if(input == null){
         System.out.println("Error! Keine Eingabe!\n");
      }else if(input.equals("ausgabe")){
         System.out.println("mach ausgabe");
      }

oder, den string mit der eingabe vergleichen, das wirft sicher keine null pointer exception

Java:
 if("ausgabe".equals(input)){
das mit dem else ist aber besser....
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben