Rumah > Java > javaTutorial > Mengapakah saya mendapat ralat \'\'.class\' expected\' dalam Java dan bagaimana saya boleh membetulkannya?

Mengapakah saya mendapat ralat \'\'.class\' expected\' dalam Java dan bagaimana saya boleh membetulkannya?

Barbara Streisand
Lepaskan: 2024-11-20 00:33:03
asal
924 orang telah melayarinya

Why am I getting the

Memahami dan Menyelesaikan Ralat "'.class' Jangkaan"

Semasa menyusun kod dalam Java, pembangun mungkin menghadapi mesej ralat misterius " '.kelas' dijangka." Ralat ini boleh membingungkan untuk kedua-dua pemula dan pengaturcara berpengalaman. Mari kita mendalami makna, punca dan ubat yang berkesan.

Maksud dan Punca

Ralat "'.class' dijangka" timbul apabila pengkompil menemui jenis ( cth., int, int[]) di mana ia menjangkakan ungkapan. Tingkah laku ganjil ini berpunca daripada kekeliruan pengkompil semasa semakan sintaks, menyebabkan ia menjangkakan pengisytiharan kelas selepas tempoh (.).

Contoh

Berikut ialah beberapa contoh ralat:

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

Dalam kedua-dua kes, pengkompil akan mengadu dengan "ralat: '.class' dijangka."

Resolusi

"Cadangan" yang tidak membantu untuk menambah ".class" hampir selalu tidak betul. Sebaliknya, penyelesaian sebenar bergantung pada tujuan jenis yang dimaksudkan dalam kod:

1. Jenis Casting:

Jika niat adalah untuk melakukan cast jenis, sertakan jenis dalam kurungan:

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

2. Tugasan Pembolehubah atau Lulus Parameter:

Lazimnya, jenis hendaklah dialih keluar untuk tugasan mudah atau lulus parameter:

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

Tambahan Contoh

Salah:

someMethod(array[]);
Salin selepas log masuk

Betul:

someMethod(array);                  // pass ref to array
someMethod(array[someExpression]);  // pass array element
Salin selepas log masuk

Salah:

int i = someMethod(int j); 
Salin selepas log masuk

Betul:

int i = someMethod(j);
Salin selepas log masuk

Salah:

int i = int(2.0);
Salin selepas log masuk

Betul:

int i = (int) 2.0;
Salin selepas log masuk

Salah:

int[]; letterCount = new int[26];
Salin selepas log masuk

Betul:

int[] letterCount = new int[26];
Salin selepas log masuk

Salah:

if (someArray[] > 80) {
    // ...
}
Salin selepas log masuk

Betul:

if (someArray[someIndex] > 80)
Salin selepas log masuk

Dalam betul:

int[] integers = new int[arraySize];
...
return integers[];
Salin selepas log masuk

Betul:

return integers;             // Return entire array
return integers[someIndex];  // Return array element
Salin selepas log masuk

Salah:

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);
Salin selepas log masuk

Betul:

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);
}
Salin selepas log masuk

Atas ialah kandungan terperinci Mengapakah saya mendapat ralat ''.class' expected' dalam Java dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan