Heim  >  Artikel  >  Java  >  Warum erhalte ich in Java den Fehler „\'.class\' erwartet' und wie kann ich ihn beheben?

Warum erhalte ich in Java den Fehler „\'.class\' erwartet' und wie kann ich ihn beheben?

Barbara Streisand
Barbara StreisandOriginal
2024-11-20 00:33:03868Durchsuche

Why am I getting the

Den Fehler „'.class' erwartet“ verstehen und beheben

Beim Kompilieren von Code in Java stoßen Entwickler möglicherweise auf die rätselhafte Fehlermeldung „ '.class' erwartet.“ Dieser Fehler kann sowohl für Anfänger als auch für erfahrene Programmierer rätselhaft sein. Lassen Sie uns seine Bedeutung, Ursachen und wirksamen Abhilfemaßnahmen genauer untersuchen.

Bedeutung und Ursache

Der Fehler „'.class' erwartet“ tritt auf, wenn der Compiler auf einen Typ ( z. B. int, int[]), wo es einen Ausdruck vorwegnimmt. Dieses seltsame Verhalten ist auf die Verwirrung des Compilers bei der Syntaxprüfung zurückzuführen, die dazu führt, dass er nach einem Punkt (.) eine Klassendeklaration erwartet.

Beispiele

Hier sind einige Beispiele für der Fehler:

double d = 1.9;
int i = int d;  // error here
int j = someFunction(int[] a);  // error here

In beiden Fällen beschwert sich der Compiler mit „Fehler: '.class' erwartet.“

Auflösung

Der wenig hilfreiche „Vorschlag“, „.class“ hinzuzufügen, ist fast immer falsch. Stattdessen hängt die tatsächliche Lösung vom beabsichtigten Zweck des Typs im Code ab:

1. Typumwandlung:

Wenn die Absicht bestand, eine Typumwandlung durchzuführen, schließen Sie den Typ in Klammern ein:

double d = 1.9;
int i = (int) d;   // Correct: casts `1.9` to an integer

2. Variablenzuweisung oder Parameterübergabe:

Normalerweise sollten Typen für eine einfache Zuweisung oder Parameterübergabe entfernt werden:

int j = someFunction(a);  // Correct ... assuming `a`'s type is suitable for the call

Zusätzliche Beispiele

Falsch:

someMethod(array[]);

Richtig:

someMethod(array);                  // pass ref to array
someMethod(array[someExpression]);  // pass array element

Falsch:

int i = someMethod(int j); 

Richtig:

int i = someMethod(j);

Falsch:

int i = int(2.0);

Richtig:

int i = (int) 2.0;

Falsch:

int[]; letterCount = new int[26];

Richtig:

int[] letterCount = new int[26];

Falsch:

if (someArray[] > 80) {
    // ...
}

Richtig:

if (someArray[someIndex] > 80)

Falsch:

int[] integers = new int[arraySize];
...
return integers[];

Richtig:

return integers;             // Return entire array
return integers[someIndex];  // Return array element

Falsch:

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);

Richtig:

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);
}

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Java den Fehler „\'.class\' erwartet' und wie kann ich ihn beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn