Java 创建一个矩阵并用质数填充

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编程语言创建矩阵并填充它们的质数。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程