ホームページ  >  記事  >  Java  >  Java で「クラス、インターフェイス、または列挙型が必要です」エラーを修正するにはどうすればよいですか?サンプル付き

Java で「クラス、インターフェイス、または列挙型が必要です」エラーを修正するにはどうすればよいですか?サンプル付き

WBOY
WBOY転載
2023-09-09 08:37:071315ブラウズ

如何修复Java中的“class, interface, or enum expected”错误?附带示例

すべての Java プログラマは、初心者であろうと経験者であろうと、コードを作成するときに多くのエラーに遭遇します。一般に、これらのエラーは実行時エラーとコンパイル時エラーに分類されます。実行時エラーは、コンパイルが成功した後にコードを実行すると発生しますが、コンパイル時エラーはコンパイル中に発生します。

予期されたクラス、インターフェイス、または列挙型は、ソース コードのコンパイル中にスローされたエラーです。これはさまざまな理由で発生する可能性がありますが、その 1 つは中括弧の位置が間違っていることです。この記事では、このエラーの原因と、クラス、インターフェイス、または列挙で予期されるエラーを修正するための対応する方法を調べます。

Java でクラス、インターフェイス、または列挙型の予期されるエラーを修正

コンパイル エラーは、コードが Java プログラミング言語の構文規則に従っていないことを示します。コンパイラーによって生成されたクラス、インターフェース、または列挙型の予期されたエラーは、Java コンパイラーが予期しないコードをコードに記述したことを意味します。

クラス、インターフェイス、または列挙型エラーの予想される原因は次のとおりです。

  • 中括弧の問題

  • 未宣言のクラス

  • クラススコープ外のメソッドの定義

  • ソフトウェア パッケージの問題

これらの問題を 1 つずつ説明し、このエラーを修正する方法について説明します。

理由 1: 中括弧の問題

前述したように、クラス、インターフェイス、または列挙型の予期されるエラーが発生する最も一般的な理由は、中括弧が冗長であるか、中括弧が正しく配置されていないことです。おそらく、プログラマが中括弧を見逃すのは非常に一般的であるため、この理由でこのエラーが頻繁に発生する可能性があります。

コードをクラス、インターフェイス、または列挙型に置く必要があるため、コードに誤って余分な中括弧を追加すると、Java コンパイラはクラス、インターフェイス、または列挙型を期待します。

例 1

次の例は、中括弧を間違って配置した場合に発生するエラーを示しています。

rree

出力

public class Example1 {
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}
} // adding extra curly brace to generate the error

例 2

次の例は、コードから無関係な中括弧を削除してクラス、インターフェイス、または列挙エラーを修正する方法を示しています。

rree

出力

Example1.java:8: error: class, interface, enum, or record expected
} // adding extra curly braces to generate the error
^
1 error

理由 2: クラスが宣言されていません

クラスの定義を忘れて、クラスにコードをまったく含めない状況が発生する可能性があります。この場合、Java ガイドラインに従って、すべてのコード ブロックをクラス内で定義する必要があるため、クラス、インターフェイス、または列挙エラーが発生する可能性があります。したがって、各コードブロックをクラス内でラップするようにしてください。

理由 3: クラスのスコープ外でメソッドを定義する

このエラーが発生するもう 1 つの理由は、クラス スコープの外でメソッドを誤って定義したことです。

例 3

次の例では、エラーを生成するために「main()」メソッドを意図的にクラスの外に配置しています。

rree

出力

public class Example2 {
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }
}

例 4

前のエラーを修正するには、例に従ってクラス内に「main()」メソッドを追加します。

rree

出力

Incremented value: 1

原因 4: パッケージの問題

Java プログラマが 1 つのソース コードで複数のパッケージを宣言する場合、この問題が発生することがあります。

例 5

この例では、エラーを生成する 2 つのパッケージを宣言します。

リーリー

出力

public class Example3 { }
// from below lines we will get error
   public static void main(String[] args) {
      int nums = 0;
      nums++; // incrementing the value
      System.out.println("Incremented value: " + nums);
   }

例 6

この例では、定義されたパッケージの 1 つを削除して、クラス、インターフェイス、または列挙型の予期されるエラーを修正します。

rree

出力

Example3.java:3: error: class, interface, enum, or record expected
   public static void main(String[] args) {
                 ^
Example3.java:5: error: class, interface, enum, or record expected
      nums++; // incrementing the value
      ^
Example3.java:6: error: class, interface, enum, or record expected
      System.out.println("Incremented value: " + nums);
      ^
Example3.java:7: error: class, interface, enum, or record expected
   }
   ^
4 errors
###結論は###

この記事では、いくつかのサンプル プログラムを通じて、クラス、インターフェイス、または列挙型で予想されるエラーを調べました。このエラーの原因と対応する修正も発見しました。中括弧の位置が間違っていることが最も一般的な原因です

以上がJava で「クラス、インターフェイス、または列挙型が必要です」エラーを修正するにはどうすればよいですか?サンプル付きの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。