public class CobaArray {
public static void main(String[] args) {
int[] angka = new int[2]; // deklarasi array awal
angka[0]=10;
angka[1]=20;
angka = new int[4]; // deklarasi ulang array
angka[2]=13;
angka[3]=14;
for (int i = 0; i < angka.length; i++) {
System.out.println(angka[i]);
}
}
}
Jika program di atas dieksekusi maka akan menampilkan nilai :
0
0
13
14
Jadi nilai 10 dan 20 yang telah disimpan sebelum perintah deklarasi ulang, ternyata hilang!!!
Solusi agar nilai-nilai sebelum perintah deklarasi ulang array tidak hilang, kita dapat mempergunakan variabel array sementara (temporary) untuk menyimpan nilai-nilai sebelum perintah deklarasi ulang array. Kemudian setelah array dideklarasi ulang, nilai-nilai yang telah disimpan di variabel array sementara, di-copy ke array yang telah dideklarasi ulang. Berikut contoh programnya :
Maka hasil dari program di atas adalah :
public class CobaArray {
public static void main(String[] args) {
int[] angka = new int[2]; // deklarasi array awal
angka[0]=10;
angka[1]=20;
int[] temp = new int[angka.length]; // var. array sementara
System.arraycopy(angka,0,temp,0,angka.length); // copy array
angka = new int[4]; // deklarasi ulang array
System.arraycopy(temp,0,angka,0,temp.length); // copy array
angka[2]=13;
angka[3]=14;
for (int i = 0; i < angka.length; i++) {
System.out.println(angka[i]);
}
}
}
10
20
13
14
1 komentar:
makasih
Alat pemisah lcd
Posting Komentar