简体   繁体   中英

Not printing out correctly

I am trying to write a program that breaks string by '+' sign. For example, if my input is "1+2+3*4". the program will print 1, 2, 3*4. I used \\s*\\+\\s* as my pattern. However, it doesn't print out when it matches the pattern?

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");
}

您应该使用findWithHorizo​​n

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM