Java 创建一个矩阵将主对角线填充为1将副对角线填充为2
在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,副对角线填充为0。
示例
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
Scanner scanner = new Scanner(System.in);
// Define the size of the matrix
System.out.print("Enter the size of the matrix: ");
int size = scanner.nextInt();
// Create a square matrix of size 'size'
int[][] matrix = new int[size][size];
// Filling the matrix
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;
}
}
}
// Print the matrix
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
方法二:通过使用用户定义的方法
在这种方法中,矩阵元素将在程序中初始化。然后通过将矩阵作为参数传递并在方法内部按照算法创建一个矩阵并填充主对角线为1,副对角线为0。
示例
import java.util.Scanner;
public class Main
{
public static void main(String[] args)
{
// taking the dimension of the matrix
Scanner scanner = new Scanner(System.in);
// Define the size of the matrix
System.out.print("Enter the size of the matrix: ");
int size = scanner.nextInt();
// calling user defined method
func(size);
}
// user defined method
public static void func(int size)
{
// Create a square matrix of size 'size'
int[][] matrix = new int[size][size];
// Filling the matrix
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;
}
}
}
// Print the matrix
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。