/ / StdIn, Jak czytać ciągi oddzielone spacjami bez utknięcia w nieskończonej pętli czekając na więcej danych wejściowych użytkownika - java, string, input, while-loop, stdin

StdIn, Jak czytać ciągi oddzielone spacjami bez utknięcia w nieskończonej pętli czekając na więcej danych wejściowych użytkownika - java, string, input, while-loop, stdin

Pracuję nad programem, który wymaga ode mnieweź wejście użytkownika ciągów oddzielone spacjami i ponownie wypisz te łańcuchy w kolejności losowej Powiedziano mi, aby użyć metody StdIn.readString () do pobrania danych wejściowych użytkownika.

Wkrótce zdałem sobie sprawę, że tylko metoda readString ()czyta pierwszy token i zatrzymuje się. Zakładam więc, że potrzebowałbym pętli while do czytania, dopóki użytkownik nie zakończy wpisywania wszystkich ciągów. Pomyślałem o stworzeniu pętli while z wariacją StdIn.isEmpty () będącą prawdziwą, aby przerwać pętlę, ale okazało się, że gdy użytkownik uruchomi klucz wartości, zawsze zwraca "True". W ten sposób utknąłem w nieskończonej pętli oczekiwania na wpisanie przez użytkownika kolejnych Ciągów.

Jawadok dla StdIn jest tutaj: http://algs4.cs.princeton.edu/code/javadoc/edu/princeton/cs/algs4/StdIn.html#readString()

Uproszczony kod znajduje się poniżej:

public static void main(String args[])  {
/*
* This is placeholder, I do not know how long the user input String is.
*/
String[] s = new String[10];
int index = 0;
while(StdIn.isEmpty())  {
s[index] = StdIn.readString();
index++;
}
}

// from here I would like to do other actions, but I cannot break the while loop

Wiem, że do czytania w liczbach całkowitych lub podwójnych, ludziezwykle ustawia wartosc wartosci wartosci, ale nie jestem pewien jaka wartosc wartosci ustawiona do odczytu w napisach. Czekam na twoją pomoc, wielkie dzięki z góry!

Odpowiedzi:

0 dla odpowiedzi № 1

"Aby to zrobić, w zależności od systemu operacyjnego i IDE, użyj Ctrl + d lub Ctrl + z" od http://introcs.cs.princeton.edu/java/stdlib/javadoc/StdIn.html