Benutzereingabe eines Codes verbessern

Mico93

Mitglied
Hallo ich bin es mal wieder und komme wie jedes Mal mit einem wahrscheinlich für die meisten Meister des Faches mit einem dämlichen, dilettantischen Anfängerproblem daher:
Ich habe mich an folgenden Code hier gesetzt:

Der Nutzer soll dazu aufgefordert werden ein Wort einzugeben, das weniger als 5 Buchstaben lang ist. Sollte das nicht so sein, so soll er solange dazu angewiesen werden bis die Bedingung stimmt.
Ich habe probiert das Problem mittels verschiedener while-Schleifen probieren wollen das Problem zu lösen. Seit Stunden ohne nennenswerten Erfolg als absoluter Dilettantant,da er trotz vllt erfüllter Bedingung die while-Schleife nicht verlässt.
Danke alleine nur fürs Lesen.

Java:
import java.util.Scanner;

public class Projekte {

    public static void main(String[] args)
    
    {
        
    //Wort 1 soll eingelesen werden
    
    Scanner w= new Scanner(System.in);
    
    System.out.println("Bitte Wort eingeben");
    
    String wort= w.nextLine();

    int eingabelaenge= wort.length();
    
            // Wort darf maximal nur 5 Buchstaben lang sein
    
            if(eingabelaenge>5)
                { do {
                    System.out.println("Bitte erneut eingeben,da nur ein Wort mit 5 Buchstaben erlaubt ist");
                    w.nextLine();
                }while(eingabelaenge>5);}
            else           
                {
                    StringBuilder sb= new StringBuilder(wort).reverse();
                    System.out.println(sb);
                }
    }
    
}
 
Teile ein großes Problem in viele kleine Probleme auf, anstatt eine monolithische Lösung zu suchen. Öfter mal eine Methode einzubauen, dann kannst du deinen Code selbsterklärend gestalten, das ist besser als jede sonstige Doku (auch wenn zusätzliche Dokumentation manchmal nötig ist).

Java:
boolean inputDenied = true;

String getUserInput(){
    //...
}

boolean isUserinputAccepted(String userinput){
    //...
}

do{
    String input = getUserInput();
    inutDenied = isUserInputAccepted(input);
}while(inputDenied);
 
Ich bedanke mich bei euch beiden für eure Zeit
, die schnelle Rückmeldung und Unterstützung für eure Lösungskonzepte, die mmir bei meinem erbärmlichen Versuch es durch eine hirnverbrannt, beschränkte und vollkommen bescheuerten Lösungsansatz meinerseits, die ich in die Tonne klopfen werde 🙂
 

Zurück
Oben