Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么';StringTokenizer是否理解nextToken函数?_Java_Variables_Input_Int_Stringtokenizer - Fatal编程技术网

Java 为什么';StringTokenizer是否理解nextToken函数?

Java 为什么';StringTokenizer是否理解nextToken函数?,java,variables,input,int,stringtokenizer,Java,Variables,Input,Int,Stringtokenizer,我制作了一个计算器,现在对它进行了改进,这样它可以读取一行代码并将其转换为三个变量a:第一个数字,b:第二个数字,和函数:它的功能示例:10*10。这是我的代码: System.out.println("problem: "); problem = user_input.next(); StringTokenizer token = new StringTokenizer(problem," "); a = Integer.parseInt(token.nextToken()); String

我制作了一个计算器,现在对它进行了改进,这样它可以读取一行代码并将其转换为三个变量a:第一个数字,b:第二个数字,和函数:它的功能示例:
10*10
。这是我的代码:

System.out.println("problem: ");
problem = user_input.next();
StringTokenizer token = new StringTokenizer(problem," ");
a = Integer.parseInt(token.nextToken());
String Menu = (token.nextToken());
b = Integer.parseInt(token.nextToken());
它根本不理解nextToken,它在线程“main”java.util.NoSuchElementException中的
异常中说
位于java.util.StringTokenizer.nextToken(未知源)
在mycalc.main(mycalc.java:20)
, 我还问了一位朋友,他向我展示了这是如何工作的,他也很困惑。请尽你所能帮助我

当你这样做的时候

problem = user_input.next();
这只读一个字。e、 g.如果您输入
10*10
,则该单词将为
10

所以当你这么做的时候

String Menu = (token.nextToken());
没有错误所暗示的元素

注意:您正在以两种不同的方式解析单词。只使用扫描仪会更简单

System.out.println("problem: ");
a = user_input.nextInt();
String menu = user_input.next();
b = user_input.nextInt();

未知源
表示没有任何调试信息。还有和。Ha和…StringTokenizer不应该在空格之间将其分成几个组吗?不鼓励按照常见问题解答回答重复的问题。“你应该投票决定结束。”Tunaki感谢你的评论。虽然副本没有解释为什么不应该使用StringTokenizer。@Tunaki是的,尽管不是那个。当你想在空间上进行分割时,使用分割是没有意义的,这是扫描器默认做的。@Tunaki这是对“请以任何可能的方式帮助我”的肤浅解释,但我们可以同意不同意。