Bir düşünün:
int[][] multD = new int[5][];
multD[0] = new int[10];
Bu şekilde 5 satır ve 10 sütunlu iki boyutlu bir dizi mi oluşturuyorsunuz?
Bu kodu internette gördüm, ancak sözdizimi mantıklı gelmedi.
Şunları deneyin:
int[][] multi = new int[5][10];
... bu da böyle bir şeyin kısa adıdır:
int[][] multi = new int[5][];
multi[0] = new int[10];
multi[1] = new int[10];
multi[2] = new int[10];
multi[3] = new int[10];
multi[4] = new int[10];
Her elemanın int
için varsayılan değer olan 0
ile başlatılacağını unutmayın, bu nedenle yukarıdakiler de eşdeğerdir:
int[][] multi = new int[][]{
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
};
Satır sayısı 5 ve sütun sayısı 10 olan iki boyutlu bir dizi oluşturmak için kullanılan en yaygın deyim şudur:
int[][] multD = new int[5][10];
Alternatif olarak, her satırı açıkça başlatmanız gerekse de, sahip olduğunuza daha benzer olan aşağıdakini kullanabilirsiniz:
int[][] multD = new int[5][];
for (int i = 0; i < 5; i++) {
multD[i] = new int[10];
}
Dene:
int[][] multD = new int[5][10];
Kodunuzda 2D dizisinin yalnızca ilk satırının 0 olarak başlatıldığına dikkat edin. Satır 2'den 5'e kadar mevcut bile değil. Eğer bunları yazdırmaya çalışırsanız, her biri için `null' alırsınız.