Java 程序创建矩阵并用素数填充它

javaobject oriented programmingprogramming更新于 2024/8/5 0:29:00

在 Java 中,矩阵可以用二维数组表示。矩阵用于存储和处理具有表格结构的数据。矩阵具有多种属性和操作,例如加法、减法、乘法、转置和行列式计算。

根据问题陈述,我们必须创建一个空矩阵,并从最小素数(即 2)开始用素数填充该矩阵。

素数是大于 1 的自然数,除了 1 和其本身之外没有其他正因数。简单来说,素数是只能被 1 和其本身整除而无余数的数。

我们以数字 7 为例。当我们将 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 行 3 列。 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 方法
   public static void main(String[] args) 
   {
      
    // 获取矩阵的维度
    Scanner scanner = new Scanner(System.in);
    
    System.out.print("输入行数:");
    int rows = scanner.nextInt();
    
    System.out.print("输入列数:");
    int columns = scanner.nextInt();
    
    // 创建素数矩阵
    int[][] matrix = new int[rows][columns];
    
    // 检查素数的起始数字
    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++;
         }
      }

      // 显示矩阵
      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();
      }
   }

   // 检查数字是否为素数的方法
   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;
   }
}

输出

输入行数:3
输入列数:3
填充素数的矩阵为:
2 3 5
7 11 13
17 19 23

方法 2:使用用户定义方法

在此方法中,矩阵元素将在程序中初始化。然后通过将矩阵作为参数传递并按照算法内部方法创建矩阵并用素数填充来调用用户定义方法。

示例

import java.util.Scanner;

public class Main 
{
   
   // Main 方法
   public static void main(String[] args) 
   {
      // 调用用户定义的方法
      func();
   }
   
   // 用户定义方法
   public static void func()
   {
      
    // 获取矩阵的维度
    Scanner scanner = new Scanner(System.in);
    
    System.out.print("输入行数:");
    int rows = scanner.nextInt();
    
    System.out.print("输入列数:");
    int columns = scanner.nextInt();
    
    // 创建素数矩阵
    int[][] matrix = new int[rows][columns];
    
    // 检查素数的起始数字
    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++;
         }
      }

      // 显示矩阵
      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();
      }
   }

   // 检查数字是否为素数的方法
   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;
   }
}

输出

输入行数:4
输入列数:4
填充素数的矩阵为:
2 3 5 7
11 13 17 19
23 29 31 37
41 43 47 53

在本文中,我们探讨了如何使用 Java 编程语言创建矩阵并用素数填充该矩阵。


相关文章