Saya menginisialisasi array seperti ini:
public class Array {
int data[] = new int[10];
/** Creates a new instance of Array */
public Array() {
data[10] = {10,20,30,40,50,60,71,80,90,91};
}
}
NetBeans menunjuk ke kesalahan di baris ini:
data[10] = {10,20,30,40,50,60,71,80,90,91};
Bagaimana saya bisa menyelesaikan masalah?
java
arrays
initialization
cerewet
sumber
sumber
Jawaban:
Di atas tidak benar (kesalahan sintaks). Ini berarti Anda menugaskan sebuah array
data[10]
yang dapat menampung elemen.Jika Anda ingin menginisialisasi array, coba gunakan Array Initializer :
Perhatikan perbedaan antara kedua deklarasi tersebut. Saat menetapkan array baru ke variabel yang dideklarasikan,
new
harus digunakan.Bahkan jika Anda benar sintaks, pengaksesan
data[10]
masih salah (Anda hanya dapat mengaksesdata[0]
kedata[9]
karena indeks array di Jawa adalah 0-based). Mengaksesdata[10]
akan membuang ArrayIndexOutOfBoundsException .sumber
public static void product(int[] array){ int[] productArray = new int[array.length];
dan ingin mengatur semua nilaiproductArray
nol , apa yang harus saya tulis? (Saya pikir saya harus menulis satu lingkaran dan mengatur semua nilai ke nol, apakah ada cara yang lebih baik untuk melakukan ini?)Mencoba
data = new int[] {10,20,30,40,50,60,71,80,90,91 };
sumber
Ketika Anda membuat larik ukuran 10 itu dialokasikan 10 slot tetapi dari 0 hingga 9. Ini untuk loop mungkin membantu Anda melihat itu sedikit lebih baik.
sumber
Anda dapat melakukan:
sumber
Sintaksis
Contoh:
sumber
Daripada mempelajari situs web yang tidak resmi, belajarlah dari situs web oracle
tautan berikut: Klik di sini
* Anda dapat menemukan Inisialisasi serta deklarasi dengan deskripsi lengkap *
Input : 10 // ukuran array 10 20 30 40 50 60 71 80 90 91
Menampilkan data:
Output: 10 20 30 40 50 60 71 80 90 91
sumber
Anda tidak dapat menginisialisasi array seperti itu. Selain apa yang disarankan orang lain, Anda dapat melakukan:
sumber
Jika Anda ingin menginisialisasi array di konstruktor, Anda tidak dapat menggunakan inisialisasi array seperti.
Ubah saja menjadi
Anda tidak harus menentukan ukuran dengan
data[10] = new int[] { 10,...,91}
Hanya mendeklarasikan properti / bidang denganint[] data;
dan menginisialisasi seperti di atas. Versi kode Anda yang sudah diperbaiki akan terlihat seperti berikut:Seperti yang Anda lihat braket kosong. Tidak perlu memberi tahu ukuran antara tanda kurung, karena inisialisasi dan ukurannya ditentukan oleh jumlah elemen antara tanda kurung keriting.
sumber
Anda mencoba mengatur elemen 10 array untuk mencoba array
FTFY
sumber
Mungkin ini akan berhasil:
sumber