创建矩阵并用质数填充它的Java程序
质数是只能被1和它本身整除的数,不能被任何其他数整除。这里的任务是找到素数并将它们以矩阵的形式存储。
Example:
Prime numbers are: 2, 3, 5, 7
Output:
2 3
5 7
Prime numbers : 2, 3, 5, 7, 9, 11, 13, 17, 19
Output:
2 3 5
7 9 11
13 17 19
方法:
- 首先,应该创建类,并在类内部创建一个方法来检查素数。
- 此方法将数字作为输入,然后检查它是否为质数。如果是素数,则返回真,否则返回假。
- 现在,将创建 main 方法,在 main 方法中创建 Matrix 类的对象,以便可以从 main 访问isPrime()方法。
- 将从用户那里获取行数和列数,然后使用它,将创建另一个大小为行 * 列的数组。
- 素数将存储在这个数组中。
- 现在,通过遍历result[]数组,素数将被存储到Matrix[]数组中。之后,结果将被打印出来。
Java
// Java Program to Create a Matrix and Fill
// it with Prime Numbers
import java.util.Scanner;
public class MatrixWithPrimeNumbers {
// Function to check a number is prime or not
boolean isPrime(int num)
{
int counter = 0;
for (int i = 1; i <= num; i++)
{
if (num % i == 0)
counter = counter + 1;
}
if (counter == 2)
return true;
else
return false;
}
public static void main(String args[])
{
// creating object of Matrix With Prime Numbers
// class
MatrixWithPrimeNumbers mwp
= new MatrixWithPrimeNumbers();
// Enter the number of rows and column.
int row = 4;
int col = 4;
// 2D array for storing prime numbers
int Matrix[][] = new int[row][col];
// size of resultant matrix
int res = row * col;
// 1D array for storing prime numbers
int Result[] = new int[res];
int i = 0, j;
int k = 1;
// Calling the method to check prime and
// then result will be stored into the array
while (i < res)
{
if (mwp.isPrime(k) == true)
{
Result[i] = k;
i++;
}
k++;
}
// the result is now stored into the form
// of matrix (in 2D array)
int x = 0;
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
Matrix[i][j] = Result[x];
x++;
}
}
// printing the result in 2D Array.
System.out.println("The Resultant Matrix is : ");
for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
{
System.out.print(Matrix[i][j] + " ");
}
System.out.println();
}
}
}
输出
The Resultant Matrix is :
2 3 5 7
11 13 17 19
23 29 31 37
41 43 47 53