while(!line.equals("End")){
line = br.readLine();
System.out.println("String from keyboard not working : "+line+"\n");
}
Этот блок работает нормально. При этом, как только вы введете End
, он будет один раз завершен и завершится. Причиной печати является то, что условие проверяется в следующем цикле цикла.
while((line = br.readLine())!=null) {
System.out.println("String from keyboard in while loop : "+line+"\n")
}
Этот блок не заканчивается, потому что каждый раз, когда вы нажимаете Enter, терминал отправляет пустую строку. Поэтому, если вы хотите, чтобы он завершался при нажатии Enter, измените условие на
while(!(line = br.readLine()).equals(""))