はじめに
Javaを勉強していて、コードを書いたあとに「さあ実行しよう!」と思ったら…
1 |
エラー: クラス ○○ は public で、ファイル ○○.java で宣言されなければなりません。<br> |
こんなエラーが出て、「なんで!?」「どこが間違ってるの!?」と困ったことはありませんか?
この記事では、Javaでコンパイルできないときによくある原因とその対処法を初心者にもわかりやすく解説します。エラーメッセージの読み方から具体的なコード例まで、完全網羅しています!
1. コンパイルエラーとは?
Javaプログラムは、実行する前に「コンパイル(翻訳)」されます。その際、Javaコンパイラ(javac
)が「文法」や「型」などに問題がないかチェックしてくれます。
このチェックに引っかかると、**コンパイルエラー(文法エラー)**が発生し、実行できません。
2. よくある原因とその対処法TOP5
① ファイル名とクラス名が一致していない
1 |
// Sample.java に書いたのに<br>public class Hello {<br>}<br> |
これはNG!publicなクラス名はファイル名と一致させる必要があります。
✅ 正しい形:
1 |
// Hello.java<br>public class Hello {<br>}<br> |
② 大文字・小文字のミス
Javaは大文字と小文字を区別する言語です。
1 |
System.out.println("Hello");<br>// × system.out → エラー!<br> |
変数やクラス名でも、スペルに注意しましょう。
③ セミコロン・括弧・波括弧の抜け
1 |
public class Sample {<br> public static void main(String[] args) {<br> System.out.println("こんにちは")<br> }<br>}<br> |
➡ セミコロン「;」がない!
✅ 正しい形:
1 |
System.out.println("こんにちは");<br> |
④ 未宣言の変数・メソッド
1 |
public class Sample {<br> public static void main(String[] args) {<br> System.out.println(count);<br> }<br>}<br> |
➡ 変数count
を宣言していないため、「symbol not found」エラーが出ます。
⑤ 型が合わない(型不一致)
1 |
int number = "10"; // Stringをintに代入しようとしている<br> |
➡ コンパイラは「intにStringは入らないよ!」と怒ります。
✅ 修正案:
1 |
int number = Integer.parseInt("10");<br> |
3. エラーメッセージの読み方
例:
1 |
Main.java:5: error: ';' expected<br> System.out.println("Hello")<br> ^<br> |
読み方:
- Main.java:5 → 5行目に問題がある
- ‘;’ expected → セミコロンが必要なのにない
- ^ → 問題の位置を示している
エラーメッセージは、英語でも「構造」で読み取れば怖くありません!
4. コンパイルは通ったのに実行できない?
これは、main
メソッドが間違っていたり、.class
ファイルが見つからないことが原因です。
よくある例:
1 |
public static void main() {<br> // 引数がない → 実行できない<br>}<br> |
✅ 正しくは:
1 |
public static void main(String[] args) {<br>}<br> |
5. IDE(Eclipse/IntelliJ)でエラーが解消しないとき
- キャッシュが古い → 再起動・キャッシュ削除
- 設定が崩れた → JDK設定を再確認
- 外部ライブラリが見つからない → モジュールやクラスパスを修正
6. トラブルシューティングの基本ステップ
- エラー全文を読む(略さない)
- 何行目か?どの変数か?を確認
- 該当部分のコードを小さく切り出してみる
- Googleでエラー文を検索
- StackOverflowや公式ドキュメントを活用する
7. 初心者チェックリスト(コピーして使える!)
☑ ファイル名とクラス名は一致してる?
☑ 大文字小文字を正しく書いてる?
☑ セミコロン忘れてない?
☑ 変数やメソッドを定義した?
☑ mainメソッドは正しく書いた?
☑ 必要なインポート文はある?(例:import java.util.Scanner;
)
8. 実例まとめ:よくあるミスと修正コード
誤:
1 |
public class Hello {<br> public static void main(String args) {<br> System.out.println("Hi!");<br> }<br>}<br> |
➡ 引数の型と書き方が違う!
正:
1 |
public class Hello {<br> public static void main(String[] args) {<br> System.out.println("Hi!");<br> }<br>}<br> |
9. 学習の進め方とおすすめの次ステップ
コンパイルエラーは最初は難しく感じますが、エラーメッセージを読めるようになると、ぐっと開発力がアップします。
まずは「絶対にJavaプログラマーになりたい人へ。」を読んで、エラーの読み方を学びましょう。
それでも難しいとき、レビューや個別のサポートを受けたい方は、「サイゼントアカデミー」をおすすめします!
まとめ
- Javaのコンパイルエラーは「文法チェック」で発生
- よくあるミス:クラス名、セミコロン、未宣言変数、型ミス
- エラーメッセージは読む練習が大事!
- 諦めずに1行ずつ、落ち着いて直そう!
コメント