Java程序创建矩阵并用阿姆斯特朗数填充
在Java中,矩阵可以用二维数组表示。矩阵用于存储和处理具有表格结构的数据。矩阵具有与其相关的几个属性和运算,例如加法、减法、乘法、转置和行列式计算。
根据题意,我们需要创建一个矩阵并用阿姆斯特朗数填充它。
让我们开始吧!
例如
假设我们有一个4*3矩阵
对矩阵进行运算后,结果将是
输入行数:4
输入列数:3
阿姆斯特朗矩阵
0 1 2 3 4 5 6 7 8 9 153 370
算法
步骤1:获取矩阵的大小。
步骤2:创建一个方阵。
步骤3:检查阿姆斯特朗数并将其插入矩阵。
步骤4:打印结果。
多种方法
我们提供了不同的方法来解决这个问题。
使用矩阵元素的静态初始化
使用用户自定义方法
让我们一一查看程序及其输出。
方法1:使用数组元素的静态初始化
在这种方法中,矩阵元素将在程序中初始化。然后根据算法创建矩阵并用阿姆斯特朗数填充它。
示例
import java.util.Scanner; public class Main { public static void main(String[] args) { // taking size of the matrix Scanner scanner = new Scanner(System.in); System.out.print("Enter the number of rows: "); int rows = scanner.nextInt(); System.out.print("Enter the number of columns: "); int columns = scanner.nextInt(); // create a square matrix int[][] matrix = createArmstrongMatrix(rows, columns); // print the result System.out.println("Armstrong Matrix:"); displayMatrix(matrix); } // Function to create a matrix and fill it with Armstrong numbers public static int[][] createArmstrongMatrix(int rows, int columns) { int[][] matrix = new int[rows][columns]; int number = 0; for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { while (!isArmstrongNumber(number)) { number++; } matrix[i][j] = number; number++; } } return matrix; } // Function to check if a number is an Armstrong number public static boolean isArmstrongNumber(int number) { int originalNumber = number; int result = 0; int digits = String.valueOf(number).length(); while (number != 0) { int remainder = number % 10; result += Math.pow(remainder, digits); number /= 10; } return originalNumber == result; } // Function to display the matrix public static void displayMatrix(int[][] matrix) { for (int[] row : matrix) { for (int element : row) { System.out.print(element + " "); } System.out.println(); } } }
输出
Enter the number of rows: 4 Enter the number of columns: 3 Armstrong Matrix: 0 1 2 3 4 5 6 7 8 9 153 370
方法2:使用用户自定义方法
在这种方法中,矩阵元素将在程序中初始化。然后调用用户自定义方法,并将矩阵作为参数传递,并在方法内部根据算法创建矩阵并用阿姆斯特朗数填充它。
示例
import java.util.Scanner; public class Main { // main method public static void main(String[] args) { // taking size of the matrix Scanner scanner = new Scanner(System.in); System.out.print("Enter the number of rows: "); int rows = scanner.nextInt(); System.out.print("Enter the number of columns: "); int columns = scanner.nextInt(); // calling user defined method func(rows, columns); } // user defined method public static void func(int rows, int columns) { // create a square matrix int[][] matrix = createArmstrongMatrix(rows, columns); // print the result System.out.println("Armstrong Matrix:"); displayMatrix(matrix); } // Function to create a matrix and fill it with Armstrong numbers public static int[][] createArmstrongMatrix(int rows, int columns) { int[][] matrix = new int[rows][columns]; int number = 0; for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { while (!isArmstrongNumber(number)) { number++; } matrix[i][j] = number; number++; } } return matrix; } // Function to check if a number is an Armstrong number public static boolean isArmstrongNumber(int number) { int originalNumber = number; int result = 0; int digits = String.valueOf(number).length(); while (number != 0) { int remainder = number % 10; result += Math.pow(remainder, digits); number /= 10; } return originalNumber == result; } // Function to display the matrix public static void displayMatrix(int[][] matrix) { for (int[] row : matrix) { for (int element : row) { System.out.print(element + " "); } System.out.println(); } } }
输出
Enter the number of rows: 4 Enter the number of columns: 4 Armstrong Matrix: 0 1 2 3 4 5 6 7 8 9 153 370 371 407 1634 8208
在这篇文章中,我们探讨了如何使用Java编程语言创建矩阵并用阿姆斯特朗数填充它。
广告