Начал учить JAVA. Первая программа пусть будет транспонированная матрица. Мне код понятен, очень похоже на c/c++/c#.
Я модифицировал эту программу написанную на си
Транспонированная матрица — матрица, полученная из исходной матрицы заменой строк на столбцы.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
import java.io.*; import java.util.Random; public class Main { public static void main(String[] args) throws IOException { BufferedReader bReader = new BufferedReader (new InputStreamReader(System.in)); String str = bReader.readLine(); int n = Integer.parseInt(str); int[][] a = new int[n][n]; Random rand = new Random(); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { a[i][j] = Math.abs(rand.nextInt() % 100); System.out.print(a[i][j] + " "); } System.out.print("\n"); } for(int i=0;i<n;i++) { for(int j=i;j<n;j++) { int temp=a[j][i]; a[j][i]=a[i][j]; a[i][j]=temp; } } System.out.println("Транспонированная матрица:"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { System.out.print(a[i][j] + " "); } System.out.print("\n"); } System.in.read(); } } |
А принцип тот же. Отличия в чтении с клавиатуры и вывод на консоль. Создается BufferedReader. При его помощи информация с консоли читается в строковую переменную, далее конвертируется в integer… Далее создается экземпляр класса Random для генерации псевдослучайных чисел (для заполнения матрицы)
А далее все в точности так же как в си (и в C#). Заполнение матрицы, потом перестановка элементов, потом снова вывод.
И после переноса на Windows 8 как Jar-файл: