0
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()) {
4

3 に答える 3

2

次のコードはメソッド内にある必要があります。クラス内ではありません。

Iterator<E> st = new StringTokenizer();
    token = st.next();
    while (st.hasMoreTokens()) {
于 2012-10-16T03:09:56.847 に答える
1

このセクション

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

メソッドまたは静的イニシャライザーを使用していません。すべてのコードは、クラス内のメソッド内に表示される必要があります

于 2012-10-16T03:11:35.020 に答える
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
   }
}
于 2012-10-16T03:16:51.437 に答える