这有什么问题会返回以下错误?

时间:2012-10-16 03:08:33

标签: java

package data_structures;

import java.util.StringTokenizer;

public class ExpressionEvaluator implements Stack, Queue {
    private String userInput;
    public ExpressionEvaluator() {
        Userinput = null;
    }

    Iterator<E> st = new StringTokenizer();
    token = st.next();
    while (st.hasMoreTokens()) {

此时此问题已经发生,所以我没有继续使用代码

错误:

data_structures/ExpressionEvaluator.java:10: illegal start of typejava
while (st.hasMoreTokens()) {
^
data_structures/ExpressionEvaluator.java:10: <identifier> expected
while (st.hasMoreTokens()) {
^
data_structures/ExpressionEvaluator.java:10: ';' expected
while (st.hasMoreTokens()) {
^
data_structures/ExpressionEvaluator.java:10: illegal start of type
while (st.hasMoreTokens()) {
^
data_structures/ExpressionEvaluator.java:10: <identifier> expected
while (st.hasMoreTokens()) {
^
data_structures/ExpressionEvaluator.java:10: ';' expected
while (st.hasMoreTokens()) {

3 个答案:

答案 0 :(得分:2)

以下代码应该在方法内部。不直接在课堂内。

Iterator<E> st = new StringTokenizer();
    token = st.next();
    while (st.hasMoreTokens()) {

答案 1 :(得分:1)

本节

Iterator<E> st = new StringTokenizer();
token = st.next();
while (st.hasMoreTokens()) {

不是使用方法或静态初始化器。所有代码必须出现在类

中的方法中

答案 2 :(得分:0)

如下所示更新构造函数,因为变量命名不正确:

  public ExpressionEvaluator() {
      userInput = null;
  }

某种方法中移动下面的代码(更新)构造函数代码,因为它不能独立存在,例如

public void evaluate(){
   StringTokenizer st = new StringTokenizer(userInput);
   while (st.hasMoreTokens()) {
      String token = st.nextToken();
      //manage your processing logic here
   }
}