0
Я пытаюсь написать программу, которая разбивает строку знаком «+». Например, если мой ввод «1 + 2 + 3 * 4». программа напечатает 1, 2, 3 * 4. Я использовал \ s * \ + \ s * в качестве своего шаблона. Однако он не распечатывается, когда он соответствует шаблону?Неправильно распечатывается
private Scanner kbd = new Scanner(System.in);
private String tokenPattern = "\\s*\\+\\s*"; //pattern
public void repl() {
while(true) {
try {
System.out.print("-> ");
String input = kbd.nextLine();
if (input.equals("quit")) break;
Scanner tokens = new Scanner(input);
while(tokens.hasNext(tokenPattern)) { //figure out why its not printing
String token = tokens.next(tokenPattern);
System.out.println(token);
}
tokens.close();
} catch(Exception e) {
System.out.println("Error, " + e.getMessage());
}
}
System.out.println("bye");
}
Попробуйте использовать this.split. Это будет проще –