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                      
15 Görüntülenme

1 Cevap

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

picture-3650-1421928561.jpg
anilsozeri
04.06.2014 - 02: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.