为什么StringTokenizer不了解nextToken函数?

时间:2016-04-17 19:17:53

标签: java variables input int stringtokenizer

我制作了一个计算器并进行了改进,以便它读取一行代码并将其转换为三个变量 a:第一个数字, b:第二个数字 < strong>和功能:它做什么示例: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,它在Exception in thread "main" java.util.NoSuchElementException at java.util.StringTokenizer.nextToken(Unknown Source) at mycalc.main(mycalc.java:20)说,  我还问过一位朋友,他实际上向我展示了这是如何运作的,他也很困惑。请尽可能帮助我!

1 个答案:

答案 0 :(得分:0)

当你这样做时

problem = user_input.next();

这只读了一个字。例如如果您输入10 * 10,则此字词将为10

所以当你这样做时

String Menu = (token.nextToken());

错误表明没有这样的元素。

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

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