Java で「\'.class\' Expected\」エラーが発生するのはなぜですか?どうすれば修正できますか?

Barbara Streisand
リリース: 2024-11-20 00:33:03
オリジナル
886 人が閲覧しました

Why am I getting the

「'.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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート