「'.class' Expected」エラーの理解と解決
Java でコードをコンパイルしているときに、開発者は謎のエラー メッセージ「」が表示されることがあります。 '.class' が必要です。」このエラーは、初心者にとっても経験豊富なプログラマーにとっても同様に困惑する可能性があります。その意味、原因、効果的な対処法について詳しく見ていきましょう。
意味と原因
「'.class' Expected」エラーは、コンパイラが型 (例: int、int[]) は式を予期します。この奇妙な動作は、コンパイラが構文チェック中に混乱し、ピリオド (.) の後にクラス宣言が必要になることが原因で発生します。
例
例をいくつか示します。エラー:
double d = 1.9; int i = int d; // error here
int j = someFunction(int[] a); // error here
どちらの場合も、コンパイラは「エラー: '.class' が必要です。"
解決策
「.class」を追加するという役に立たない「提案」は、ほとんどの場合間違っています。代わりに、実際の解決策は、コード内の型の意図された目的に依存します:
1。型キャスト:
型キャストを実行することが目的の場合は、型をかっこで囲みます:
double d = 1.9; int i = (int) d; // Correct: casts `1.9` to an integer
2.変数の代入またはパラメータの受け渡し:
通常、単純な代入またはパラメータの受け渡しでは型を削除する必要があります:
int j = someFunction(a); // Correct ... assuming `a`'s type is suitable for the call
追加例
不正解:
someMethod(array[]);
正解:
someMethod(array); // pass ref to array someMethod(array[someExpression]); // pass array element
不正解:
int i = someMethod(int j);
正解:
int i = someMethod(j);
不正解:
int i = int(2.0);
正解:
int i = (int) 2.0;
不正解:
int[]; letterCount = new int[26];
正解:
int[] letterCount = new int[26];
不正解例:
if (someArray[] > 80) { // ... }
正解:
if (someArray[someIndex] > 80)
正解:
int[] integers = new int[arraySize]; ... return integers[];
正解:
return integers; // Return entire array return integers[someIndex]; // Return array element
不正解:
if ((withdraw % 5 == 0) & (acnt_balc >= withdraw + 0.50)) double cur = acnt_balc - (withdraw + 0.50); System.out.println(cur); else System.out.println(acnt_balc);
正解:
if ((withdraw % 5 == 0) & (acnt_balc >= withdraw + 0.50)) { double cur = acnt_balc - (withdraw + 0.50); System.out.println(cur); } else { System.out.println(acnt_balc); }
以上がJava で「\'.class\' Expected\」エラーが発生するのはなぜですか?どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。