0

スレッドを説明する簡単なプログラムを書いています。

以下のエラーが表示されるのはなぜですか。誰でも私を助けてください。

public class Myth extends Thread {
  public void run() {
    int val=65;
    try {
      for(int i=0;i<26;i++) {
        System.out.println((char)val);
        val++;
        sleep(500);
      }
    }
    catch(InterruptedException e) {
      System.out.println(e);
    }
    // error pops up on this bracket saying class interface or enum expected.
    // error in this line says-- illegal start of expression

    public static void main(String args[]) {
      Myth obj=new Myth();
      obj.start();
    }
  }
}
4

5 に答える 5

1

run()メソッドが正しく閉じられていません。後に追加の閉会の称賛を追加してくださいSystem.out.println(e);

于 2012-08-01T07:44:25.900 に答える
1

開閉ブレースのペアのバランスをとる必要があります。curly

public class Myth extends Thread{
 public void run(){
   int val=65;
   try{
       for(int i=0;i<26;i++){
         System.out.println((char)val);
         val++;
         sleep(500);
        }
    }catch(InterruptedException e){
       System.out.println(e);
    }
 }

 public static void main(String args[]){
    Myth obj=new Myth();
    obj.start();
 }
}
于 2012-08-01T07:44:53.217 に答える
0

メソッドはmainメソッド内に配置されましたMyth.run()。クラスの静的関数であってはならないのに対して。

public class Myth extends Thread {
    public void run(){
        int val=65;
        try {
            for(int i=0;i<26;i++)
            {
                System.out.println((char)val);
                val++;
                sleep(500);
            }
        }catch(InterruptedException e){
            System.out.println(e);
        }
        // error pops up on this bracket saying class interface or enum expected.
        // error in this line says-- illegal start of expression

    }
    public static void main(String args[]){
        Myth obj=new Myth();
        obj.start();
    }
}
于 2012-08-01T07:48:49.190 に答える
0

以下は修正されたコードです。理由は、runメソッドの本体が閉じられていないためです。

public class Myth extends Thread {

public void run() {

    int val = 65;
    try {

        for (int i = 0; i < 26; i++) {
            System.out.println((char) val);

            val++;

            sleep(500);

        }

    }

    catch (InterruptedException e) {
        System.out.println(e);
    }
}

public static void main(String args[]) // error in this line says-- illegal
                                        // start of expression

{
    Myth obj = new Myth();
    obj.start();
}
}
于 2012-08-01T07:47:58.880 に答える
0

run メソッドが中かっこで適切に閉じられていません。閉じてコンパイルすると、問題ないはずです。中かっこを開くときはいつでも中かっこを閉じることをお勧めします。次に、それらの間にコードを書き始めます。これは、この種の恥ずかしいばかげた間違いを避けるのに役立ちます。

于 2012-08-01T07:52:07.683 に答える