BufferedReader виснет после ввода первой строки и заполняет внутренний массив пустыми строками. код же очень примитивен, в чем дело?
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = null;
String app;
//==================================================================================
while ((app = reader.readLine()) !=null) {
s+=app ;
}//заполняет внутренний массив ридера нулями
или
while (reader.ready()) {
s+=app;
}//всегда false, цикл даже не начинается
//==================================================================================
System.out.println("Мы считали с клавиатуры эту строку:");
System.out.println(s);
}
Ответы (1 шт):
Автор решения: had0uken
→ Ссылка
Исправил код, в соответствии вашему комментарию как должна работать программа. Обратите внимание на условие while. Я там использую пустую строку для выхода из цикла, потому что ваш цикл с null будет бесконечный, так как вы никогда не введете null через консоль. (Пустая строчка это не null)
public class Test {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String s = "";
String app;
while (!(app = reader.readLine()).equals("")) {
s += app;
}
System.out.println("Мы считали с клавиатуры эту строку:");
System.out.println(s);
}
}