创建矩阵并用 1 填充主对角线,用 2 填充次对角线

javaobject oriented programmingprogramming更新于 2024/6/4 19:29:00

在 Java 中,矩阵可以用二维数组表示。矩阵用于存储和操作具有表格结构的数据。矩阵具有与其相关的几个属性和操作,例如加法、减法、乘法、转置和行列式计算。

根据问题陈述,我们必须创建一个矩阵并用 1 填充主对角线,用 0 填充次对角线。

让我们开始吧!

例如

假设我们有一个 4*4 矩阵,即 4 行 4 列。

对矩阵执行操作后,结果将是:

输入矩阵的大小:4

结果矩阵是:

1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

算法

步骤 1:定义矩阵的大小。

步骤 2:创建一个大小为 'size' 的方阵。

步骤 3:在主对角线上填充 1,在次对角线上填充 0。

步骤 4:打印结果。

多种方法

我们提供了不同方法的解决方案。

  • 通过使用矩阵元素的静态初始化

  • 通过使用用户定义的方法

让我们逐一查看程序及其输出。

方法 1:通过使用数组的静态初始化元素

在此方法中,矩阵元素将在程序中初始化。然后按照算法创建一个矩阵,并用 1 填充主对角线,用 0 填充次对角线。

示例

import java.util.Scanner;
public class Main 
{
   public static void main(String[] args) 
   {
        Scanner scanner = new Scanner(System.in);
        // 定义矩阵的大小
        System.out.print("输入矩阵的大小:");
        int size = scanner.nextInt();
        // 创建大小为 'size' 的方阵
        int[][] matrix = new int[size][size];
        // 填充矩阵
        for (int i = 0; i < size; i++) {
         for (int j = 0; j < size; j++) {
            if (i == j) {
               // Filling 1 on the primary diagonal
               matrix[i][j] = 1; 
            } else if (i + j == size - 1) {
               // Filling 0 on the secondary diagonal
               matrix[i][j] = 0; 
            }
         }
      }
      // 打印矩阵
      System.out.println("The resultant matrix is:");
      for (int i = 0; i < size; i++) {
         for (int j = 0; j < size; j++) {
            System.out.print(matrix[i][j] + " ");
         }
         System.out.println();
      }
   }
}

输出

Enter the size of the matrix: 4
The resultant matrix is:
1 0 0 0 
0 1 0 0 
0 0 1 0 
0 0 0 1

方法 2:使用用户定义方法

在此方法中,矩阵元素将在程序中初始化。然后通过将矩阵作为参数传递来调用用户定义方法,并根据算法在方法内部创建一个矩阵,并用 1 填充主对角线,用 0 填充次对角线。

示例

import java.util.Scanner;
public class Main 
{
    public static void main(String[] args)
    {
        // 获取矩阵的维度
        Scanner scanner = new Scanner(System.in);
        // 定义矩阵的大小
        System.out.print("输入矩阵的大小:");
        int size = scanner.nextInt();
        // 调用用户定义的方法
        func(size);
    }
    // 用户定义的方法
    public static void func(int size)
   {
        // 创建大小为 'size' 的方阵
        int[][] matrix = new int[size][size];
        // 填充矩阵
      	for (int i = 0; i < size; i++) {
         for (int j = 0; j < size; j++) {
            if (i == j) {
               // 在主对角线上填充 1
               matrix[i][j] = 1; 
            } else if (i + j == size - 1) {
               // 在次对角线上填充 0
               matrix[i][j] = 0; 
            }
         }
      }
      // 打印矩阵
      System.out.println("The resultant matrix is:");
      for (int i = 0; i < size; i++) {
         for (int j = 0; j < size; j++) {
            System.out.print(matrix[i][j] + " ");
         }
         System.out.println();
      }
   }
}

输出

Enter the size of the matrix: 5
The resultant matrix is:
1 0 0 0 0 
0 1 0 0 0 
0 0 1 0 0 
0 0 0 1 0 
0 0 0 0 1

在本文中,我们探讨了如何使用 Java 编程语言创建矩阵并用 1 填充主对角线并用 0 填充次对角线。


相关文章