Java エラーを読んで原因を探る練習(基礎編)
「エラーを読んで原因を考える練習」は、プログラミング上達の近道です。
ここでは Java 初心者がよく出す 典型的なエラー例 5パターン をもとに、
「実際のエラー出力 → 原因 → 修正方法」をまとめます。
例題1:セミコロン忘れ
コード
public class Main {
public static void main(String[] args) {
System.out.println("Hello")
System.out.println("World");
}
}
Java実行結果(エラー出力)
Main.java:3: error: ';' expected
System.out.println("Hello")
^
1 error
原因
➡ 「セミコロン ; が必要です」という意味。
文の終わりがどこかを Java が判断できない状態です。
修正
System.out.println("Hello");
Java例題2:識別子(単語)の途中に空白がある
コード
public class Main {
public static void main(String[] args) {
Sys tem.out.println("Hi");
}
}
Javaエラー出力
Main.java:3: error: cannot find symbol
Sys tem.out.println("Hi");
^
symbol: class Sys
location: class Main
1 error
原因
➡ Java が「Sys というクラスが見つからない」と言っています。System の途中にスペースを入れてしまい、別の名前と認識されたためです。
修正
System.out.println("Hi");
Java例題3:波かっこの数が合っていない
コード
public class Main {
public static void main(String[] args) {
System.out.println("Start");
// ← 閉じかっこが1つ足りない!
Javaエラー出力
Main.java:5: error: reached end of file while parsing
}
^
1 error
原因
➡ 「ファイルの終わりに来たけど、まだブロックが閉じていない」という意味。{ に対応する } を忘れています。
修正
public class Main {
public static void main(String[] args) {
System.out.println("Start");
}
}
Java例題4:メソッド名のスペルミス
コード
public class Main {
public static void main(String[] args) {
System.ou.println("Hello");
}
}
Javaエラー出力
Main.java:3: error: cannot find symbol
System.ou.println("Hello");
^
symbol: variable ou
location: class System
1 error
原因
➡ 「System クラスに ou というメンバはありません」と言っています。out の打ち間違いです。
修正
System.out.println("Hello");
Java例題5:大文字・小文字のミス
コード
public class Main {
public static void main(String[] args) {
system.out.println("Hi");
}
}
Javaエラー出力
Main.java:3: error: cannot find symbol
system.out.println("Hi");
^
symbol: variable system
location: class Main
1 error
原因
➡ Java は大文字・小文字を区別するため、System を小文字で書くと別物になります。
修正
System.out.println("Hi");
Java練習課題(自分で試してみよう)
問1:
次のコードをコピーして実行し、出てきたエラーメッセージを読んで原因を考えてください。
public class Practice {
public static void main(String[] args) {
System.out.println("Start")
System.out.println("End");
}
}
Java→ ヒント:「; expected」と出たらセミコロン忘れ!
問2:
public class Practice {
public static void main(String[] args) {
Sys tem.out.println("Test");
}
}
Java→ ヒント:「cannot find symbol」と出たらスペルや空白を疑おう!
問3:
public class Practice {
public static void main(String[] args) {
System.out.println("Start");
}
Java→ ヒント:「reached end of file while parsing」と出たら {} の対応を確認!
まとめ:エラー文の読み方コツ
| 英語メッセージ | 意味 | よくある原因 |
|---|---|---|
';' expected | セミコロンが必要 | 行末の ; 忘れ |
cannot find symbol | シンボル(名前)が見つからない | スペルミス、空白、宣言忘れ |
reached end of file while parsing | ファイルの終わりで構文が終わらない | { の閉じ忘れ |
class, interface, or enum expected | 構文の位置が間違っている | クラスの外にコードを書いた |
variable might not have been initialized | 変数が初期化されていない | 変数宣言だけで代入なし |
