2016-12-14 3 views
0

Ich habe einfachen Code zum Hinzufügen von Strings zu einer Arraylist. Ich muss meine while-Schleife beenden, wenn der Benutzer eine leere Eingabe gibt (oder klickt zweimal im Wesentlichen zweimal). HierBeenden beim Drücken der Eingabetaste (Java)

ist der Code:

static ArrayList<String> names = new ArrayList(); 

public static void main(String[] args) { 
    Scanner sc = new Scanner(System.in); 
    System.out.println("Enter name:"); 

    String name = sc.nextLine(); 
    while (!name.equals(" ")) { // ? 

     names.add(name); 
     name = sc.nextLine(); 
     if (names.contains(name)) { 
      System.out.println(name + " already exists!"); 
      name = sc.nextLine(); 
     } 

    } 
    System.out.println(names); 

} 
+3

' " "' ist nicht das gleiche wie '""'! – ParkerHalo

Antwort

3
while (!name.equals(" ")) //string containing single space 
while (!name.equals("")) //empty string 
while (!name.trim().equals("")) //string empty or with only whitespaces 

Also, wenn Sie auf Benutzer beenden möchten einen Raum oder eine leere Zeile oder zehn Räumen vorbei, verwenden Sie die letzte Option.

2

ändern while Zustand unten an:

while (!name.trim().equals("")) 
Verwandte Themen