Java 为什么';StringTokenizer是否理解nextToken函数?
我制作了一个计算器,现在对它进行了改进,这样它可以读取一行代码并将其转换为三个变量a:第一个数字,b:第二个数字,和函数:它的功能示例: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
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这是对“请以任何可能的方式帮助我”的肤浅解释,但我们可以同意不同意。