Keine weitere Eingabe in der Main möglich. Eventueller Ansatz über while.

Mika34

Bekanntes Mitglied
Schönen Abend an Alle,
Ich versuche gerade ein Programm zu schreiben und bin auch gerade echt weit, jedoch hapert es bei mir an der Benutzeroberfläche über die Konsole. Ich möchte eigentlich so lange die add und show Methoden verwenden bis der Nutzer in der Konsole das Wort "quit" eingibt, jedoch stoße ich gerade an allen Enden an meine Grenzen und komme gerade nicht weiter. Könntet ihr mir hier weiterhelfen...
Ich bin über jede Hilfe sehr dankbar 🙂
Java:
public class UI {
    public static void main(String []args) {
        Calcualtor calc = new Calculator();
        
        String commando = Terminal.readLine();

        String[] newCommando = commando.split(" ");

     if(newCommando.length > 1) {
           String part1 = newCommando[0];
            String   part2 = newCommando[1];
              if(part1.equals("add")) {
                  calc.stack.add(part2);
                  commando = Terminal.readLine();
              }
            }
        
        else {
            String part1=newCommando[0];
            if(part1.equals("show")) {
                calc.stack.show();
            }
        }
    
    }
    }
 
Wenn ich nun die Eingaben mache, dann klappt es auch, jedoch will er keine weiteren Eingaben mehr nehmen, obwohl ich über die Konsole etwas Richtiges eingebe.

Ohne zu wissen, wie dein Code aussieht, kann man nur raten: Vermutlich handelt es sich um einen Programmierfehler. Allerdings ist deine Aussage etwas widersprüchlich. Klappt es nun oder nicht?
 
Ohne zu wissen, wie dein Code aussieht, kann man nur raten: Vermutlich handelt es sich um einen Programmierfehler. Allerdings ist deine Aussage etwas widersprüchlich. Klappt es nun oder nicht?
Wenn ich keine Schleife drum mache und es quasi nur einmal durchlaufen lasse, dann funktioniert die Eingabe. Jedoch kriege ich es nicht auf die Reihe dem Programm zu sagen, dass es immer weiter machen soll und nicht nach der ersten Eingabe aufhören soll.
 
Wenn ich dies so verwende, dann passt alles, aber es wird eben nur einmal etwas von der Konsole angenommen, sprich man kann keine weiteren Eingaben mehr machen. Also z.B. mehr Zahlen hinzufügen.
Java:
public class UserInterface {
    public static void main(String []args) {
       
        Calculator calc = new Calculator();      
        String commando = Terminal.readLine();
        String[] newCommando = commando.split(" ");
           
        if(newCommando.length > 1) {
                String part1 = newCommando[0];
                 String   part2 = newCommando[1];
                   if(part1.equals("add")) {
                       calc.stack.add(part2);
                   }    
            }  
           
             else {
                 String part1=newCommando[0];
                 if(part1.equals("show")) {
                     calc.stack.show();
                 }
 
Code:
command = "";
solange !command.equals("quit") {
    lese command vom Terminal;
    mach was mit command;
}
 

Zurück
Oben