2016-05-12 8 views
0

Für mein Programm unten möchte ich es so, dass der Benutzer ein Wort 2 oder mehr Zeichen lang eingeben muss, aber ich weiß nicht, wie man diese Einschränkung macht.Wie kann die Anzahl der Zeichen begrenzt werden, die ein Benutzer eingeben kann?

Dies ist ein Palindrom-Programm, und es wird verwendet, um zu testen, ob das Wort ein Palindrom ist oder nicht. Es erlaubt mir ein Wort beliebiger Länge einzugeben, aber ich möchte auf 2 oder mehr beschränken, und wenn sie nur ein Zeichen eingeben, sollte eine Nachricht "Falsches Wort" anzeigen.

import java.util.*; 
class PalindromeTesterSamJiang1 { 
    public static void main(String [] arg) { 
     int x=0; 
     Scanner in=new Scanner(System.in); 

     System.out.printf("Menu: Please select an option \n" 
      + "1)Palindrome Tester\n" 
      + "0)Exit program \n"); 
     x=in.nextInt(); 
     switch (x){ 
     case 1: 
      lol test=new lol(); 
      test.palindromeTester(""); 
      test.displayInfo(); 
      break; 
     default: 
      System.out.println("Goodbye"); 
      break; 
     } 
    } 
} 

class lol { 
    String original, reverse = ""; 

    public String palindromeTester(String reference) { 
     Scanner in = new Scanner(System.in); 
     System.out.println("Enter a word to Test: "); 
     original = in.nextLine(); 
     int length = original.length(); 

     for (int i = length - 1; i >= 0; i--) 
      reverse = reverse + original.charAt(i); 
     return original; 
    } 
    public void displayInfo() { 
     if (original.equals(reverse)) 
      System.out.println("RESULT: A PALINDROME"); 
     else 
      System.out.println("RESULT: NOT A PALINDROME"); 
     String[] arguments = new String[] {"123"}; 
     PalindromeTesterSamJiang1.main(arguments); 
    } 
} 
+4

I Ich weiß es nicht. Ich weigere mich, den Code zu betrachten, bis Sie die Einrückungen korrigieren, um sie lesbar zu machen. – Andreas

+0

@Andreas xaxaxa netter Kommentar .... – GOXR3PLUS

Antwort

3

Sie können die Eingabe in einer Schleife lesen, Druck ein Fehler, wenn der Eingang zu kurz ist, auszubrechen wenn Sie eine gültige Eingabe erhalten, zum Beispiel:

while (true) { 
     System.out.println("Enter a word to Test: "); 
     original = in.nextLine(); 
     if (original.length() > 2) { 
      break; 
     } 
     System.out.println("Too short. Word must be at least 2 characters"); 
    } 
+0

oh, deine Antwort ist besser als meine. –

0
System.out.println("Enter a word to Test: "); 
     original = in.nextLine(); 
     String[] array = original.split(" "); 
     if(array.length < 2) 
     System.out.print("Enter atleast 2 sentence"); 
+0

Nun, das kann nicht richtig funktionieren, müssen Sie eine Schleife hinzufügen ... – Guillaume

+0

@Guillaume yeah Ich weiß, ich habe nur eine Lösung für sein Problem und ich kommentierte unter Janos Antwort, dass seine Antwort besser ist als meine. –

Verwandte Themen