Witam!
Chciałbym napisać kod, który przy wykorzystaniu metody read() z klasy InputStreamReader
przeczyta mi wszystkie wpisane znaki i przerwie czytanie po kliknięciu Enter.
Jeżeli zrobie to bez pętli w taki sposób:
InputStreamReader inp = new InputStreamReader(System.in);
System.out.println("Podaj:");
System.out.println((char)inp.read());
System.out.println("Koniec");
To oczywiście przeczyta tylko pierwszy znak.
A jeżeli zrobię to w takiej pętli :
InputStreamReader inp = new InputStreamReader(System.in);
System.out.println("Podaj:");
int znak=0;
while((znak = inp.read()) != -1){
System.out.println((char)znak);
}
System.out.println("Koniec");
To faktycznie czyta wszystkie znaki, ale pętla się nie kończy.
Jak zrobić, żeby analizował tylko jedną linijkę i na tym kończył?
Mam z tym problem zarówno w InputStreamReader (read), BufferedReader (readLine), StreamTokenizer i Scanner. Nigdzie nie mogę stworzyć takiego warunku, by po klawiszu <Enter> kończyło się zczytywanie danych.