3

単純なクラスは、配列を出力するクラスを呼び出します。Eclipseで構文エラーが発生します。また、Kremalationというメソッドがないというエラーが表示されます。

public class AytiMain {

    public static void main(String[] args) {
        AytiMain.Kremalation();
    }
}

public class Kremalation {

    String[] ena = { "PEINAW", "PEINOUSA", "PETHAINW" };
    int i; // <= syntax error on token ";", { expected after this token

    for (i = 0; i <= ena.lenght; i++)
        System.out.println(ena[i]);
}
}
4

6 に答える 6

5

メソッドの外にコード(変数の宣言や初期化を行っていない)があります。これは次のとおりです。

for (i=0; i<=ena.lenght; i++)
    System.out.println(ena[i]);

Javaでは、コードはメソッド内に存在する必要があります。クラスを呼び出すことはできません。クラスで宣言されているメソッドを呼び出す必要があります。

間違った

class ClassName {
   for (...) 
}

正解

class ClassName {
  static void method() {
    for (...)
  }

  public static void main(String[] args) {
    ClassName.method();
  }
}
于 2012-10-09T16:42:29.553 に答える
3

メソッドをクラスとして定義することはできません。そのはず

public static void kremalation()
{
String ena[]={"PEINAW","PEINOUSA","PETHAINW"};
int i;
for (i=0; i<=ena.lenght; i++)
    System.out.println(ena[i]);
}
于 2012-10-09T16:42:03.233 に答える
1
public class AytiMain {


    public static void main(String[] args) {
        AytiMain.Kremalation();
    }

    public static void Kremalation() {// change here.

        String ena[]={"PEINAW","PEINOUSA","PETHAINW"};
        int i;

        for (i=0; i<=ena.lenght; i++)
            System.out.println(ena[i]);

    }    
}
于 2012-10-09T16:43:08.540 に答える
0

2つの可能な答え。

1)クラスとして定義する場合は、2番目のパブリックからパブリックを削除します。

2)Kremalationを閉じ中括弧内に移動し、クラスをvoidに置き換えて、静的メソッドにします。

于 2012-10-09T16:42:59.300 に答える
0

クラス内に直接実行可能コードを含めることはできません。メソッドを追加し、そのクラスのインスタンスを使用してそのメソッドを呼び出します。

public class Kremalation {

    public void method() {

        String ena[]={"PEINAW","PEINOUSA","PETHAINW"};
        int i;

        for (i=0; i<=ena.lenght; i++)
            System.out.println(ena[i]);
    }

}

さて、あなたのメインメソッドで、次のように書いてください:-

public static void main(String[] args) {
    new Kremalation().method();    
}
于 2012-10-09T16:43:24.683 に答える
0

この問題を解決するための2つのアプローチ.....

1つ目は、同じファイルに2つのクラスがあります。

public class AytiMain {


    public static void main(String[] args) {

        new Kremalation().doIt();
    }

}

class Kremalation {

  public void doIt(){        // In Java Codes should be in blocks
                             // Like methods or instance initializer blocks

    String ena[]={"PEINAW","PEINOUSA","PETHAINW"};
    int i;

    for (i=0; i<=ena.lenght; i++)
        System.out.println(ena[i]);

   }

}

2番目にクラスをメソッドに変更します:

public class AytiMain {


    public static void main(String[] args) {
        AytiMain.Kremalation();
    }

    public static void Kremalation() {     // change here.

        String ena[]={"PEINAW","PEINOUSA","PETHAINW"};
        int i;

        for (i=0; i<=ena.lenght; i++)
            System.out.println(ena[i]);

    }    
}
于 2012-10-09T17:04:08.970 に答える