Özellikle Java da yeni iseniz, dizileri iyi öğrenmek çok işinize yarayacaktır. Tabii ki diziler/matrisler tüm dillerin öncelikli öğelerinden olsalar da buradaki ilk amacım, listelerin neden çok önemli olduğunu matematiğin neden programlamanın temeli olduğuna dair biraz da olsa fikir oluşturmak. Yazdığım tüm kod çalışır durumdadır, online compiler lara alıp üzerinde denemeler yapmanızı tavsiye ederim.Aralara koyduğum "//" dan sonra yer alan kısımların tabii ki yorum ve koda etkileri yoktur.
// Math kütüphanesini çağırıyorum, kullanmasanız bile matematiksel işlemler yaparken kenarda durmasını severim.
import java.lang.Math;
// Java her zaman bir main metodu olmalıdır ama Class ın ismi Main olmak zorunda değil, dosya ismiyle aynı olsa yeterli. Aşağıdaki Morpheus class ından bir tane yeni oluşturup çeşitli parametreler ile içindeki metodları kullanıyorum.
public class Main{
public static void main(String[]args){
Morpheus m = new Morpheus();
System.out.println("Matrix program initialising..."); // İçerik olsun diye eklediğim yazılar
System.out.println("Testing parameters...");
System.out.println("Sum of 3+3:");
System.out.println(m.add(3,3)); // 3 ve 3 ün toplamını yazdırıyorum
int s[] = {0,1,2,3,4,5,6,7,8,9,10};
System.out.println("Counting to 11:");
m.printArray(s); // Tek boyutlu diziyi yazdırıyorum
int trinity[][] = {{116,114},{105,110},{105,116},{121,33}}; // Yeni bir iki boyutlu dizi oluşturuyorum
int neo[][] = {{97,110},{100,101},{114,115},{111,110}}; // Yeni bir iki boyutlu dizi oluşturuyorum
System.out.println("Ok, who are you:");
m.printArray(trinity); // İki boyutlu dizilerden birini yazdırıyorum
System.out.println("Bring him to me:");
m.printArray(m.sum(neo,trinity)); // İki boyutlu dizileri toplayıp, sonucu yazdırıyorum
}
}
// Arayüzün/interface ne olduğunu ve ne işe yaradığını biraz daha Javaya alıştıkça öğreneceğinizi tahmin ediyorum. Ama genel programlama açısından template gibi düşünebilirsiniz, özellikle burada daha sonra çıktı alacağımız metodların ne ile çalıştığını ve ne sonuç verdiğini gösteriyorlar.
interface IMATH {
public int add(int a, int b);
public void printArray(int a[]);
public void printArray(int a[][]);
public int[][] sum(int a[][], int b[][]);
}
class Morpheus implements IMATH{
public int add(int x, int y){
return x + y;
}
public void printArray(int a[]){ // Tek boyutlu listeyi yazdıran metod
for(int i=0; i<a.length; i++){ // Öğeleri dolaşıyor
System.out.println(a[i]);
}
}
public void printArray(int a[][]){ // 2 boyutlu listeyi yazdıran metod
for(int r=0; r<a.length; r++){ // Satırları dolaşıyor
for(int c=0; c<a[0].length; c++){ // O satırın kolonlarını dolaşıyor
System.out.println(a[r][c] + " ");
}
}
}
public int[][] sum(int[][] a, int[][] b){ // 2 tane boyutları aynı 2 boyutlu listeyi alıp onları toplayan metod
int row = a.length; // Satır sayısı
int column = a[0].length; // Kolon sayısı
int[][] basket= new int[row][column];
for(int r=0; r<row; r++){ // Satırları dolaşıyor
for(int c=0; c<column; c++){ // O satırın kolonlarını dolaşıyor
basket[r][c] = a[r][c] + b[r][c]; // Yeni matrise öğeleri yerleştiriyor
}
}
return basket; // Yeni matrisi çağırıyor
}
}