scan array

saya baru belajar java, lagi mau nyoba buat array, tapi error di baris ke-11

int banyak = scan.nextInt();
		int array1[] = new int[banyak];
		for(int i = 0;i<=banyak;i++) {
			System.out.printf("Angka ke-%d = ", i);
			array1[i] = scan.nextInt();
		}

avatar Nuia
@Nuia

2 Kontribusi 0 Poin

Diperbarui 6 tahun yang lalu

3 Jawaban:

Coba agan ubah bagian ini:

 int array1[] = new int[banyak];

menjadi ini:

 int array1[] = new int[banyak - 1];

Penjelasan:

Karena array dimulai dari index 0, 1, 2 ,3, dst... Sedangkan agan input angka 3, maka yg terjadi adalah:

array[banyak] array[3] == [ 0 , 1 , 2 , 3 ] //ada 4 index (terjadi out of index)

array[banyak - 1] array[2] == [ 0 , 1 , 2 ] //ada 3 index

avatar keccikun
@keccikun

368 Kontribusi 197 Poin

Dipost 6 tahun yang lalu

@abyanjksatu udah dicoba, tapi hasilnya tetep error

avatar Nuia
@Nuia

2 Kontribusi 0 Poin

Dipost 6 tahun yang lalu

Sory salah rework, coba kaya gini:


int banyak = scan.nextInt();
		int array1[] = new int[banyak];
		for(int i = 1;i<=banyak;i++) {
			System.out.printf("Angka ke-%d = ", i);
			array1[i] = scan.nextInt();
		}

avatar keccikun
@keccikun

368 Kontribusi 197 Poin

Dipost 6 tahun yang lalu

Login untuk ikut Jawaban