Menu
CoddyTech

2D Dizi Elemanlarına Erişim

Coddy'nin Java Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 2 / 59.

2B dizisindeki öğelere erişmek, 1B dizisindeki öğelere erişmeye benzer; ancak tek bir indeks kullanmak yerine iki indeks kullanırsın: biri satır, diğeri sütun için. Java'da indekslerin 0'dan başladığını unutma; yani ilk satır 0 indeksinde, ikinci satır 1 indeksindedir ve bu şekilde devam eder. Benzer şekilde, ilk sütun 0 indeksinde, ikinci sütun 1 indeksindedir ve bu şekilde sürer.

Bir öğeye erişmek için önce satır dizinini, ardından sütun dizinini belirtirsin. Bunun için şu söz dizimini kullanırsın:

arrayName[rowIndex][columnIndex]

Örneğin, matrix adlı 2 boyutlu bir dizinin ikinci satırındaki (indeks 1) ve üçüncü sütunundaki (indeks 2) elemana erişmek için şunu yazarsın:

int element = matrix[1][2];

Bu, 1. satır dizinindeki, 2. sütun dizinindeki değeri (ikinci satır, üçüncü sütun) element değişkenine atar.

2B dizilerin boyutlarını alma:

1B dizilerde olduğu gibi, 2B bir dizinin boyutlarını almak için .length kullanabilirsiniz:

int[][] matrix = {
    {1, 2, 3},
    {4, 5, 6}
};
int numRows = matrix.length;        // Satır sayısını alır: 2
int numCols = matrix[0].length;     // Sütun sayısını alır: 3
  • matrix.length satır sayısını döndürür
  • matrix[0].length ilk satırdaki sütun sayısını döndürür

Sınırları denetleme:

Bir elemana erişmeden önce indislerin geçerli olup olmadığını kontrol etmek iyi bir uygulamadır:

if (rowIndex >= 0 && rowIndex < matrix.length && 
    colIndex >= 0 && colIndex < matrix[0].length) {
    // matrix[rowIndex][colIndex] öğesine güvenle erişilebilir
}
challenge icon

Görev

Kolay

getElement adında, üç argüman alan bir metot oluştur:

  1. matrix adında, tam sayılardan oluşan 2 boyutlu bir dizi.
  2. Satır indeksini temsil eden bir tam sayı olan rowIndex.
  3. Sütun indeksini temsil eden bir tam sayı olan colIndex.

Metot, matrix içindeki belirtilen satır ve sütunda bulunan öğeyi döndürmelidir. rowIndex veya colIndex sınırların dışındaysa (yani 0'dan küçükse ya da satır veya sütun sayısına eşit veya bu sayıdan büyükse), metot -1 döndürmelidir.

Kendin dene

// Kodunuzu yalnızca sınıfın içine yazın. main() veya bu sınıfın dışında herhangi bir kod yazmayın.
class GetElement {
    public static int getElement(int[][] matrix, int rowIndex, int colIndex) {
        // Kodunuzu buraya yazın
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Java derleyicisi