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
廣告