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

更新时间: 2024年7月30日

546 次浏览

开启你的职业生涯

通过完成课程获得认证

立即开始
广告