28 July 2013

BELAJAR JAVA 34 : 2D Array Tabular (Jadual 2D Array)

Kali ni kita sambung sikit dari apa yang kita belajar sebelum ni, mengenai array dalam 2D.
Jadi, kita dah tau macam mana nak declare array dalam 2D.
Sekarang kita akan buat program untuk display array 2D dalam bentuk table.

Mula-mula kita declare dulu array:
public class cuba {
public static void main(String[] args) {

   //declare 2d array
   int[][] x = {
                          {1, 2, 3},
                          {3, 1, 2},
                          {2, 3, 1},
              };
    int[][] y = {
                          {4, 5, 6},
                          {6, 4, 5},
                          {5, 6, 4},
              };
}
}

Disebabkan kita akan buat 2 table untuk array yang berbeza, maka kita akan guna konsep object-oriented.

Object-oriented ni yang guna class dengan method tu la, ayat je gempak.

Jadi, kita akan buat method display() kat luar main() untuk display array 2D dalam bentuk table.

public static void display(int[] array2d) {

    for(int row = 0; row < array2d.length; row++){
                  for(int column = 0; column < array2d[row].length; column++){
                   System.out.println(array[row][column] + "\t");
                  }
                  System.out.println();
}
}

Perhatikan yang kita letak 2 kurungan stapler dalam parameter, maksudnya method ni perlukan array 2D untuk digunakan.

Untuk buat dalam bentuk table, kita kena buat nested loop(maksudnya loop dalam loop).

Loop yang kat luar untuk loop-kan row, loop yang dalam untuk loop-kan column.

Kat sini kita guna for loop.

Sekarang kita tengok loop yang luar:

for (int row = 0; row < array2d.length; row++)

Jadi loop ni akan loop untuk row.

Untuk array 2D, bila kita tulis array2d.length maksudnya kita ambik panjang row array tu.

Sekarang tengok loop yang kat dalam pulak:

for (int column = 0; column < array2d[row].length; column++)
Loop ni akan loop untuk column.

Bila kita tulis array2d[row].length maksudnya kita ambik panjang untuk setiaprow atau dalam bahasa lainnya, column.

Kemudian, kat dalam loop yang dalam, kita akan tulis
System.out.print(array2d[row][column] + "\t");
untuk paparkan nombor dalam setiap row tu dari kiri ke kanan.

\t tu maksudnya tab, untuk bagi ruang sikit.

Lepas kita dah paparkan nombor-nombor dalam row, kita akan buat line baru
System.out.println();
untuk paparkan nombor-nombor dalam row-row yang seterusnya.

Jadi, rupa program kita yang dah siap sepatutnya jadi macam ni:
public class cuba {
public static void main(String[] args) {

   //declare 2d array
   int x[][] = {{1, 2, 3},{3, 1, 2},{2, 3, 1}};
   int y[][] = {
                          {4, 5, 6},
                          {6, 4, 5},
                          {5, 6, 4}
                          };
   display(x);
   display(y);
}
public static void display(int array[][]) {
System.out.println("\nTABLE OF THE 2D ARRAYS");
for(int row = 0; row < array.length; row++){
    for(int column = 0; column < array.length; column++){
    System.out.print(array[row][column] + "\t");
    }
    System.out.println();
    }
   }
}

dan hasilnya:

TABLE OF THE 2D ARRAYS
1 2 3
3 1 2
2 3 1

TABLE OF THE 2D ARRAYS
4 5 6
6 4 5
5 6 4

Itu saja gamaknya untuk tutorial ni. Sekian.

No comments: