Java 创建一个矩阵并用质数填充
在Java中,矩阵可以使用二维数组来表示。矩阵用于存储和操作具有表格结构的数据。矩阵具有多个属性和与之相关的操作,例如加法、减法、乘法、转置和行列式计算。
根据问题的陈述,我们需要创建一个空矩阵,并用从最小质数开始的质数填充该矩阵,即2。
质数是大于1的自然数,除了1和它自身以外没有其他正除数。简单来说,质数是只能被1和它自身整除,没有任何余数的数。
让我们以数字7为例。当我们除以除1和7以外的任何数字时,都会得到余数。例如,7除以2的余数是1,7除以3的余数也是1。因此,7除了1和7外没有其他除数,所以它是一个质数。
开始吧!
实例
实例-1
假设我们有一个3*3的矩阵,即3行3列。
在对矩阵进行操作后,结果将为:
输入行数:3
输入列数:3
填充了质数的矩阵为:
2 3 5
7 11 13
17 19 23
实例-2
假设我们有一个4×4矩阵,即4行和4列。
在对矩阵执行操作后,结果如下:
请输入行数:4
请输入列数:4
填充质数的矩阵为:
2 3 5 7
11 13 17 19
23 29 31 37
41 43 47 53
步骤
步骤1: 获取矩阵的维度。
步骤2: 创建用于存储质数的矩阵。
步骤3: 检查数字是否为质数并将其插入矩阵中。
步骤4: 打印结果。
多个方法
我们以不同的方法提供了解决方案。
- 通过使用静态初始化矩阵元素
-
通过使用用户定义的方法
让我们逐一看看程序及其输出。
方法1:通过使用静态初始化数组元素
在这种方法中,矩阵元素将在程序中初始化。然后根据算法创建一个矩阵,并用质数填充它。
示例
import java.util.Scanner;
public class Main
{
// main method
public static void main(String[] args)
{
// taking the dimension 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();
// 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;
}
}
输出
Enter the number of rows: 3
Enter the number of columns: 3
The matrix filled with prime numbers is:
2 3 5
7 11 13
17 19 23
方法2:使用用户自定义方法
在这个方法中,矩阵元素将在程序中进行初始化。然后通过将矩阵作为参数传递给一个用户定义的方法,并在该方法中按照算法创建一个矩阵并填充素数。
示例
import java.util.Scanner;
public class Main
{
// main method
public static void main(String[] args)
{
// calling user defined method
func();
}
// user defined method
public static void func()
{
// taking the dimension 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();
// 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;
}
}
输出
Enter the number of rows: 4
Enter the number of columns: 4
The matrix filled with prime numbers is:
2 3 5 7
11 13 17 19
23 29 31 37
41 43 47 53
在本文章中,我们探讨了如何使用Java编程语言创建矩阵并填充它们的质数。