В прошлом уроке мы узнали об одномерных массивах. Как правило, массив любого типа используется для хранения данных одного типа вместе, превращая их во что-то значимое. Обычно используется для (алфавитов) хранения имени и т. Д.

ПРИМЕЧАНИЕ: массив может содержать данные одного и того же типа !!

Двумерные массивы, наиболее часто используемые для матриц или чтения / поиска строки (помните, что строка - это набор массивов !!, поэтому вы переходите от массива к массиву внутри строки и ищете букву или слово) или обход файл и т. д.

В этом уроке я покажу, как создать матрицу (ее сложение и умножение будут рассмотрены вкратце). Итак, приступим !!

Пример: создание матрицы и ее добавление

Прежде чем мы начнем, вы помните, что такое матрица? и ни о каком фильме я не спрашиваю !!! Матрица (множественное число: матрицы) - это прямоугольный массив [1] чисел, символов или Выражения, расположенные в строках и столбцах.

На этом изображении (nxm) представляет, n нет. рядов и м № столбцов, то есть (n строк x m столбцов), a11 представляет элемент в позиции row 1 и col 1, a12 показывает элемент в строке 1 и col 2 и так далее…

Хотя на приведенном выше изображении индексация началась с 1 как для строки, так и для столбца, то есть для вас это легко понять, НО, предпочтительно начинать ее с '0', чтобы избежать каких-либо ошибок в будущем, как при индексировании массивов с помощью по умолчанию начинается с «0».

Так как же сделать матрицу любого измерения? Во-первых, допустим, мы хотим создать матрицу размером 2x2, т.е. 2 строки и 2 столбца. Теперь, как вы можете вводить данные? Хм ... ответ заключается в использовании цикла, как правило, for loop для ввода данных один за другим. Допустим, вы запускаете цикл for с i = 0, тогда введенные вами значения будут из строки !! потому что, как мы знаем, он будет печатать его с горизонтальным расположением !! Но как перейти на второй ряд? а что с колонками? По этой причине мы запускаем другой цикл for внутри первого цикла for, этот второй цикл представляет номер столбца в этой строке.

example 2x2 matrix
row1->   col1 col2     =>   1  2
row2->   col1 col2          3  4
col1 and col2 are the element in row1 belonging to col1 and col2 each.This way we can also get the value from the prefered location.
position   value 
  1,1        1
  1,2        2
  2,1        3
  2,2        4

Программа для создания матрицы и добавления ее !!

ПРИМЕЧАНИЕ. для сложения или вычитания матриц количество строк и столбцов обеих матриц должно быть одинаковым, т. е. обе матрицы должны иметь одинаковые размеры.

import java.util.Scanner; // to take user input
 
class AddTwoMatrix
{
   public static void main(String args[])
   {
      int m, n, i, j;
      Scanner in = new Scanner(System.in);
 
      System.out.println("Enter the number of rows and columns of matrix");
      m = in.nextInt();  // takes the input values as int
      n  = in.nextInt();
 
      int first[][] = new int[m][n];  //creating an int type array
      int second[][] = new int[m][n]; // of m rows and n cols
      int sum[][] = new int[m][n];
 
      System.out.println("Enter the elements of first matrix");
 
      for (  i= 0 ; i< m ; i++ )
         for ( j= 0 ; j< n ; j++ )
            first[i][j] = in.nextInt();
 
      System.out.println("Enter the elements of second matrix");
 
      for ( i= 0 ; i< m ; i++ )
         for ( j= 0 ; j< n ; j++ )
            second[i][j] = in.nextInt();
 
      for ( i= 0 ; i< m ; i++ )
         for ( j= 0 ; j< n ; j++ )
             sum[i][j] = first[i][j] + second[i][j];  
/*replace '+' with '-' to subtract matrices*/
 
      System.out.println("Sum of entered matrices:-");
 
      for ( i= 0 ; i< m ; i++ )
      {
         for ( j= 0 ; j< n ; j++ )
            System.out.print(sum[i][j]+"\t");
 
         System.out.println();
      }
   }
}

ПРИМЕЧАНИЕ: Важно помнить, что для запуска java-программы программа должна быть сохранена под именем класса, который содержит «основной» метод, заканчивающийся на «.java».

так почему мы должны писать это дважды ?? Поскольку на первом этапе программа компилируется компилятором java и преобразуется в байтовые коды, которые на следующем этапе преобразуются интерпретатором java в машинные вмешательства. Виртуальная машина Java (JVM) выступает в роли интерпретатора. JVM также играет центральную роль в переносимости Java, потому что скомпилированная программа Java работает на JVM, независимо от используемого оборудования !!

Пример: умножение матриц

ПРАВИЛО: количество столбцов в 1-й матрице равно количеству строк во 2-й матрице.

ПРИМЕЧАНИЕ. Размерность матрицы продукта, если размерность первой матрицы равна mxn, а размер второй матрицы - nxp, составляет mxp.

import java.util.Scanner;
 
class MatrixMultiplication
{
   public static void main(String args[])
   {
      int m, n, p, q, sum = 0, c, d, k;
 
      Scanner in = new Scanner(System.in);
      System.out.println("Enter the number of rows and columns of first matrix");
      m = in.nextInt();
      n = in.nextInt();
 
      int first[][] = new int[m][n];
 
      System.out.println("Enter the elements of first matrix");
 
      for ( c = 0 ; c < m ; c++ )
         for ( d = 0 ; d < n ; d++ )
            first[c][d] = in.nextInt();
 
      System.out.println("Enter the number of rows and columns of second matrix");
      p = in.nextInt();
      q = in.nextInt();
 
      if ( n != p ){
         System.out.println("Matrices with entered orders can't be multiplied with each other.");
      }else
      {
         int second[][] = new int[p][q];
         int multiply[][] = new int[m][q];//as its dimension is mxq
 
         System.out.println("Enter the elements of second matrix");
 
         for ( c = 0 ; c < p ; c++ )
            for ( d = 0 ; d < q ; d++ )
               second[c][d] = in.nextInt();
 
         for ( c = 0 ; c < m ; c++ ) //no of rows of matrix 1
         {
            for ( d = 0 ; d < q ; d++ ) //no of columns of matrix 2
            {   
               for ( k = 0 ; k < p ; k++ ) //no of rows of matrix 2
               {
                  sum = sum + first[c][k]*second[k][d];
               }
 
               multiply[c][d] = sum;
               sum = 0;
            }
         }
 
         System.out.println("Product of entered matrices:-");
 
         for ( c = 0 ; c < m ; c++ )
         {
            for ( d = 0 ; d < q ; d++ )
               System.out.print(multiply[c][d]+"\t");
 
            System.out.print("\n");
         }
      }
   }
}

Вот и все, что вам нужно. В следующем учебном посте я покажу вам, как настроить Java-среду, написать и запустить Java-программу, а также некоторые из ее применений, которые я забыл показать в предыдущих уроках. Надеюсь, это поможет вам, ребята, так же сильно, как и есть помогая мне! Не стесняйтесь задавать любые сомнения в разделе комментариев. Удачного кодирования !!