Turkcell | Geleceği Yazanlar

Soru & Cevap

Dizi Örneğindeki Eleman Sayısı

04.06.2014 - 12:02

Android 101 eğitiminin 

https://gelecegiyazanlar.turkcell.com.tr/konu/android/egitim/android-101/tek-boyutlu-diziler

adresindeki "Tek Boyutlu Diziler isimli bölümündeki önekte:

[code]

import java.util.Scanner;

 

public class GY_Dizi2 {

    public static void main(String[] args) {

        

        Scanner input = new Scanner(System.in);

        

        int toplam, i;

        int sayi[] = new int[6];

 

        toplam = 0;

        

        for (i = 1 ; i <= 5 ; i++) {

            System.out.print("Bir Sayı Giriniz: ");

            sayi[i] = input.nextInt();

            toplam = toplam + sayi[i];

        }

        

        System.out.println(i-1 + " tane sayı girdiniz.");

        System.out.println("Girdiğiniz sayıların toplamı: " + toplam);

        System.out.println("Sayı dizisinin ikinci elemanı : " + sayi[2]);

    }

}

[/code]

bold ile işaretlediğim bölümler ile ilgili bir sorum var.

Öncelikle diziyi 6 elemanlı olarak tanıtıyoruz.

Daha sonra ise for döngüsünü kurarken

[code]

for (i = 1 ; i <= 5 ; i++)

[/code]

şeklinde kuruyoruz.

Burada anlamadığım şey şu:

Sadece 5 adet rakam girerken Neden diziyi 6 elemanlı olarak gösteriyoruz ya da diğer şekilde sorarsak 5 elemanlı olarak kurarsak neden hata veriyor? 

Diğer taraftan da for döngüsünü kurarken i=1 yerine i=0 olarak alırsak diziye 6 elemana girişi yapabilirkeni diziyi 5 elemanlı olarak gösterdiğimizde hata vermesi durumunda benim gözden kaçırdığım şey nedir? 

WebRep
 
currentVote
 
 
noRating
noWeight
 
 
 
 
 
 
 
 
 
 
 

2892 Görüntülenme

1 Cevap

Anıl SÖZERİ
04.06.2014 - 14:24

Merhaba,

Dizi eğer 5 elemanlı olursa for döngüsündeki <= 5 şeklindeki koşul nedeniyle hata verecektir.

5 Elemanlı olarak tanımladığınız dizinin indisleri 0,1,2,3,4 olduğundan dolayı 5. indise değer atarken dizi boyutunu aştığınız için hata meydana gelecektir.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.