📜  创建矩阵并用质数填充它的Java程序

📅  最后修改于: 2022-05-13 01:54:26.999000             🧑  作者: Mango

创建矩阵并用质数填充它的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