Java 扫描程序和字符串标记器

Java 扫描程序和字符串标记器,java,stringtokenizer,Java,Stringtokenizer,当我同时使用StringTokenizer和Scanner时,这个源代码有问题 这是来源: package deberes.contador; import java.util.Scanner; import java.util.StringTokenizer; public class Contador { public static void main(String[] args) { Scanner scan = new Scanner(System.in);

当我同时使用StringTokenizer和Scanner时,这个源代码有问题

这是来源:

package deberes.contador;

import java.util.Scanner;
import java.util.StringTokenizer;

public class Contador {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Escriba una frase: ");
        String mensaje = scan.next();
        StringTokenizer palabras = new StringTokenizer(mensaje);
        int nPalabras = palabras.countTokens();
        System.out.println(nPalabras);
    }
}
“nPalabras”
的结果总是
“1”
,问题出在哪里?

next()
只返回一个完整的令牌。如果您有许多令牌,请尝试
nextLine()