2017-02-06 2 views
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"); 
} 
+0

Попробуйте использовать this.split. Это будет проще –

ответ

Смежные вопросы