目次:
- NoClassDefFoundError
- NoSuchMethodError
- 未解決シンボルが変数の場合は、この変数の宣言が正しい場所にあることを確認してください。たとえば、変数がforループの初期化で宣言されている場合、その変数をforループの外側で使用しようとしていますか?変数がブロック(中括弧のペア)内で宣言されている場合、その変数をブロック外で使用しようとしていますか?
- 括弧がない場合は、if文とループの条件を確認します。それぞれの条件が括弧で囲まれていることを確認してください。また、各メソッドの名前の後に、パラメタリスト(かっこで囲んだ)が付いていることを確認してください。
- ヘッダーの最後にセミコロンがない場合は、ヘッダーの直後にあるコードを確認します。ヘッダーの直後のコードは、中括弧(メソッド本体の先頭)で始まる必要があります。ヘッダーと本文の中かっこの間にコードがある場合は、そのコードを別の場所に移動することを検討してください。
- 括弧内にif条件を囲みますが、条件の後にセミコロンを入れないことを覚えておいてください。あなたは誤ってif条件をセミコロンで終了しましたか?
- 最も簡単な解決策は、変数の宣言の前に静的という単語を入れることです。しかし、まず、この変数の宣言がメインメソッドの内部にない理由を尋ねます。正当な理由がない場合は、変数の宣言をmainメソッドの内部に移動します。
- ハードドライブに正しい名前のファイルが見つかった場合は、そのファイルが正しいディレクトリにあることを確認してください。 (作業ディレクトリで実行されているプログラムについては、典型的なデータファイルも作業ディレクトリにあります。)
ビデオ: 【php 入門】 phpでエラーがでたらこうしましょう ■世界一稼げる授業 2024
時にはエラーメッセージが恐ろしいプログラマーの心に恐怖を打つことがあります。幸いにも、これらのメッセージの1つが表示されたときに問題を解決するためのアドバイスがあります。
NoClassDefFoundError
コードを実行しようとしているときにこのエラーが発生します。最初に自分自身に尋ねてください。コードをコンパイルしようとしましたか?その場合、コンパイル時にエラーメッセージが表示されましたか?エラーメッセージが表示された場合は、修復可能なものを探してください。 javaファイル。これらの問題を修正し、コンパイルしてください。 Javaファイルを再度実行します。
<! --1 - >通常、JavaProgramsディレクトリにコードを保存する場合は、このJavaProgramsディレクトリで作業していることを確認してください。 (Windowsでは、コマンドプロンプトにJavaProgramsが表示されていることを確認してください)。
適切な名前を付けてください。あなたの作業ディレクトリのクラスファイル。たとえば、MyGreatProgという名前のプログラムを実行しようとしている場合は、MyGreatProgという名前のファイルを探します。クラスを作業ディレクトリに追加します。
<! - 2 - >クラスパスに、クラスパスが含まれていることを確認します。あなたが必要とするクラスファイルです。たとえば、すべてのJavaコードが作業ディレクトリにある場合は、クラスパスにドットが含まれていることを確認します。
NoSuchMethodError
このエラーメッセージが表示されたら、メソッド名のスペルミスまたは一貫性のない大文字小文字がないかどうかを確認します。メイン(メインではない)の大文字を確認してください。
javaコマンドを発行する(またはあなたの環境でプログラムを実行するために通常どんな操作を行っても)、実行しようとしているクラスには独自のmainメソッドが含まれていますか?そうでなければ、mainメソッドでクラスを見つけて、代わりにそのクラスを実行します。
<!シンボルを解決できないことを含むエラーメッセージが表示された場合は、すべての識別子とキーワードのスペルと大文字を確認してください。その後、再度確認してください。未解決シンボルが変数の場合は、この変数の宣言が正しい場所にあることを確認してください。たとえば、変数がforループの初期化で宣言されている場合、その変数をforループの外側で使用しようとしていますか?変数がブロック(中括弧のペア)内で宣言されている場合、その変数をブロック外で使用しようとしていますか?
最後に、変数の宣言のエラーを探します。コンパイラが変数の宣言でエラーを検出した場合、コンパイラは残りのコードでその変数名を解決できません。
期待される。 '(または他の何かが予想される)
'; '期待どおり、あなたのコードを見て、各ステートメントと各宣言がセミコロンで終わることを確認してください。もしそうなら、セミコロンがないことについてのコンパイラの推測は間違っているかもしれません。別の(一見無関係な)エラーを修正してコードを再コンパイルすると、偽のものを取り除くことができます。 '予想されるメッセージ。
括弧がない場合は、if文とループの条件を確認します。それぞれの条件が括弧で囲まれていることを確認してください。また、各メソッドの名前の後に、パラメタリスト(かっこで囲んだ)が付いていることを確認してください。
予想されるメッセージについては、代入文を確認してください。それぞれの代入文がメソッド内にあることを確認してください。 (初期化を伴う宣言はメソッドの外に置くことができますが、古い普通の代入文はメソッドの中に存在しなければなりません)。
単語のクラスは正しく。コードにインポート宣言がある場合は、importという単語のスペルと大文字を確認してください。
メソッド本体の欠落または抽象宣言
コンパイラがメソッドヘッダーを参照しているときに、メソッド本体が見つからないか、またはメソッドの本体が見つからない場合、メソッド本体が欠落しているか抽象メッセージを宣言しています。メソッドのヘッダの終わりを見てください。ヘッダーをセミコロンで終了した場合は、セミコロンを削除してみてください。
ヘッダーの最後にセミコロンがない場合は、ヘッダーの直後にあるコードを確認します。ヘッダーの直後のコードは、中括弧(メソッド本体の先頭)で始まる必要があります。ヘッダーと本文の中かっこの間にコードがある場合は、そのコードを別の場所に移動することを検討してください。
'if'がない 'else'
if節の数とelse節の数を比較します。 if節はelse節を持つ必要はありませんが、else節はそれぞれif節に属していなければなりません。
括弧内にif条件を囲みますが、条件の後にセミコロンを入れないことを覚えておいてください。あなたは誤ってif条件をセミコロンで終了しましたか?
ifとelseの間のすべての行を見てください。 ifとelseの間で複数のステートメントを見つけたら、中括弧を探します。 ifとelseの間のステートメントが中括弧で囲まれていない場合、その犯人を見つけた可能性があります。
非静的変数は静的コンテキストから参照できません
静的コンテキスト以外の変数は静的コンテキストエラーメッセージから参照できません。しかし、初心者のプログラマにとって、最も一般的な原因は、メインメソッドの外で宣言された変数を持つことです。そのような変数を宣言するのは罪ではありませんが、mainメソッドは常に静的なので、mainメソッドがmainメソッドの外で宣言された変数を参照するように特別な助けが必要です。
最も簡単な解決策は、変数の宣言の前に静的という単語を入れることです。しかし、まず、この変数の宣言がメインメソッドの内部にない理由を尋ねます。正当な理由がない場合は、変数の宣言をmainメソッドの内部に移動します。
FileNotFoundException(システムが指定されたファイルを見つけることができません)またはEOFException
FileNotFoundExceptionメッセージが表示された場合は、コード内のファイルが実際に存在することを確認します。(システムエクスプローラまたはコマンドプロンプトウィンドウを使用してファイルを探します)コード内のスペルをハードドライブ上のファイルの名前と再度確認します。
ハードドライブに正しい名前のファイルが見つかった場合は、そのファイルが正しいディレクトリにあることを確認してください。 (作業ディレクトリで実行されているプログラムについては、典型的なデータファイルも作業ディレクトリにあります。)
Windowsユーザーの場合は、システムが特別なファイルを追加していないことを確認してください。ファイルを作成したときの拡張子.txt。 (コマンドプロンプトウィンドウを使用してファイルの名前を確認すると、Windowsエクスプローラは.txt拡張子を隠すことができ、常に混乱の原因となります)。
EOFExceptionの場合、ファイル。非常に頻繁に、小さな論理エラーがあなたのプログラムをこのようにします。したがって、プログラムの実行におけるすべてのステップを注意深く見直してください。不適切なプライムループや、配列の最大のインデックスを超えた配列値の読み込みなどの微妙なものを探します。