BİLGİ SAYAMIYORUM beta

Java da bir matris/matrix (2boyutlu dizi) nasıl okunur, eşit uzunluklu 2 matris nasıl toplanır?

0

Ö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
     }
}

BENZER 7

Kimse etkileşime girmemiş

ETİKETLER