Javaの「シンボルが見つかりません(cannot find symbol)」エラーの原因と解決方法
Javaにおける「cannot find symbol(シンボルが見つかりません)」エラーは、主にコンパイル中のプログラム内で宣言されていない変数を参照しようとしたときに発生します。つまり、コンパイラが参照先の変数を認識できていない状態です。
「cannot find symbol」エラーが発生する主な原因
- 宣言されていない変数や、有効範囲(スコープ)外にある変数を使用している。
- 大文字・小文字の違い(「tutorials」と「Tutorials」は別の識別子として扱われる)や、スペルミスがある。
- パッケージ化されたクラスを、import宣言によって正しく参照していない。
- 不適切な識別子名を使用している。識別子に使えるのは英字・数字・アンダースコア(_)・ドル記号($)のみです。例えば「hello-class」は無効な名前であり、「helloclass」とはまったく別のものとして扱われます。
コード例
public class CannotFindSymbolTest {
public static void main(String[] args) {
int n1 = 10;
int n2 = 20;
sum = n1 + n2;
System.out.println(sum);
}
}実行結果(コンパイルエラー)
CannotFindSymbolTest.java:5: error: cannot find symbol sum = n1 + n2; ^ symbol: variable sum location: class CannotFindSymbolTest CannotFindSymbolTest.java:7: error: cannot find symbol System.out.println(sum); ^ symbol: variable sum location: class CannotFindSymbolTest
エラーの解決方法
上記のプログラムでは、変数「sum」が宣言されていないため、「cannot find symbol」エラーが発生しています。このエラーを解決するには、変数sumを使用する前に、次のようにデータ型を指定して宣言する必要があります。
int sum = n1 + n2;
このように変数を事前に宣言しておくことで、コンパイラがそのシンボルを正しく認識できるようになり、エラーは解消されます。同様のエラーに遭遇した場合は、まず変数やクラス名の宣言漏れ、スペルミス、import文の不足がないかを確認するとよいでしょう。
-
Javaで台形の面積を求めるプログラムの作成方法を解説
この記事では、Javaを使って台形(トラペジウム)の面積を求める方法について詳しく解説します。台形とは、少なくとも1組の対辺が互いに平行になっている四角形のことです。平行な2つの辺は「底辺」と呼ばれ、平行でない残りの2つの辺は「脚」と呼ばれます。英語圏では trapezoid(トラペゾイド)と呼ばれることもあります。 台形の面積は、次の公式を使って計算できます。 面積 = (高さ ÷ 2) × (上底 + 下底) すなわち、 面積 = ½ × (平行な2辺の長さの合計) × (平行な2辺間の垂直距離) 以下に具体的なイメージを示します。平行な2辺の長さを a、b、台形の高さを h としたとき
-
【Java入門】長方形の周囲(外周)を求めるプログラムの作り方
長方形の周囲とは? この記事では、Javaを使って長方形の周囲(外周)を求める方法を解説します。長方形の周囲とは、長方形の4つの辺すべての長さを足し合わせた合計のことで、次の図のように「縦の辺2本」と「横の辺2本」の長さを合計したものに相当します。 長方形は向かい合う辺の長さが等しいという性質を持つため、周囲は次の式で計算できます。 周囲 = 2 ×(縦の長さ + 横の長さ) 入力と出力の例 たとえば、入力が次の値であるとします。 長方形の各辺の長さ:5, 8, 5, 8 このとき、期待される出力は次のとおりです。 Perimeter : 26 アルゴリズム 処理の流れは以下のようになりま