Java程序创建矩阵并用素数填充
根据题目要求,我们需要创建一个空矩阵,并用从最小素数(即2)开始的素数填充该矩阵。一个素数是一个大于1的自然数,除了1和它本身之外没有其他正因数。
例如,让我们取数字7。当我们将7除以除1和7之外的任何数字时,都会得到余数。例如,将7除以2得到余数1,将7除以3也得到余数1。因此,7除了1和7之外没有其他因数,这意味着它是一个素数。
在Java中,矩阵可以使用二维数组表示。矩阵用于存储和操作具有表格结构的数据。它们具有与之相关的若干属性和操作,例如加法、减法、乘法、转置和行列式计算。
输入/输出场景
假设我们有一个3*3的矩阵 -
number of rows = 3 number of columns = 3
用素数填充的矩阵为
2 3 5 7 11 13 17 19 23
使用矩阵元素的静态初始化
在这种方法中,矩阵维度在程序中初始化。然后,我们创建一个矩阵。在插入任何数字之前,我们检查该数字是否为素数。
示例
在这个示例中,我们将看到如何使用Java编程语言创建一个矩阵并用素数填充它。
public class Main { // main method public static void main(String[] args) { // dimension of the matrix int rows = 3; int columns = 3; // creating matrix for prime numbers int[][] matrix = new int[rows][columns]; // Starting number to check for prime int number = 2; for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { while (!isPrime(number)) { number++; } matrix[i][j] = number; number++; } } // Display the matrix System.out.println("The matrix filled with prime numbers is:"); for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { System.out.print(matrix[i][j] + " "); } System.out.println(); } } // Method to check if a number is prime private static boolean isPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } }
运行以上代码时,将显示以下结果 -
The matrix filled with prime numbers is: 2 3 5 7 11 13 17 19 23
用户自定义方法
在这种方法中,创建一个用户自定义方法,并在该方法内部初始化矩阵的维度。然后在main()方法中调用此方法来创建并用素数填充矩阵。
示例
以下示例从实践上说明了上述方法。
public class Main { // main method public static void main(String[] args) { // calling user defined method func(); } // user defined method public static void func(){ // dimension of the matrix int rows = 4; int columns = 4; // creating matrix for prime numbers int[][] matrix = new int[rows][columns]; // Starting number to check for primality int number = 2; for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { while (!isPrime(number)) { number++; } matrix[i][j] = number; number++; } } // Display the matrix System.out.println("The matrix filled with prime numbers is:"); for (int i = 0; i < rows; i++) { for (int j = 0; j < columns; j++) { System.out.print(matrix[i][j] + " "); } System.out.println(); } } // Method to check if a number is prime private static boolean isPrime(int number) { if (number < 2) { return false; } for (int i = 2; i <= Math.sqrt(number); i++) { if (number % i == 0) { return false; } } return true; } }
执行此代码后,将打印以下结果 -
The matrix filled with prime numbers is: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53
广告