Я использую Java и у меня есть код следующим образом:сканер не работает, когда я нажимаю войти
Scanner scanner = new Scanner(System.in);
while (true) {
String token = scanner.next();
if (token.equals("$")) break;
if (token.equals("(")) do sth;
else if (token.equals(")")) do sth;
else {
do sth
}
}
, как вы можете увидеть в приведенном выше коде, если ввести н в консоли, то вы вводите $ в конец, то программа поймет конец ввода, и сканер сможет успешно получить каждое слово строки успешно, но вместо этого я хочу, когда пользователь нажимает, затем сканер захватывает всю строку и начинает читать ее слово за словом, я попробовал это путь:
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
String token = scanner.next();
if (token.equals("(")) builder.buildOpenBracket();
else if (token.equals(")")) builder.buildCloseBracket();
else {
int number = Integer.parseInt(token);
builder.buildElement(number);
}
}
но теперь прорам работает вечно и ничего не происходит pends
делает это 'если (token.equals (" (")) делать, компилирует ?? –
Почему вы ожидаете, что код выйдет из цикла while? – SMA
@RC. да он компилирует –