Я застрял с проблемой, связанной с System.in.read(). Я хочу распечатать все, что вставлено в консоль. Мой код выглядит так:
import java.io.IOException;
public class printer {
public static void main(String[ ] args) {
int i;
try {
while ((i = System.in.read()) != -1) {
char c = (char)i;
System.out.print(c);
}
}
catch (IOException e) {
e.printStackTrace();
}
}
}
Проблема в том, что если вы вставите, например, три строки в консоль, программа напечатает две первые строки, но не третью. Это почему? Он печатает третью, если я нажимаю ввод, но с огромным пробелом между второй и третьей строкой.
Я также пытался сохранить каждый символ в строке, а затем распечатать всю строку после цикла, но цикл никогда не заканчивается. Это способ остановить этот конкретный цикл (я не буду знать, сколько строк вставит пользователь)