Java 创建矩阵并填充回文数
在Java中,可以使用二维数组表示矩阵。矩阵用于存储和操作具有表格结构的数据。矩阵具有多种属性和操作,如加法、减法、乘法、转置和行列式计算等。
根据问题描述,我们需要创建一个矩阵并将其填充为回文数。
让我们开始吧!
例如
假设我们有一个4*5的矩阵:
在对矩阵执行操作后,结果将是:
输入行数:4
输入列数:5
具有回文数的矩阵:
1 2 3 4 5
6 7 8 9 11
22 33 44 55 66
77 88 99 101 111
步骤
步骤1 : 获取矩阵的大小。
步骤2 : 创建一个方阵。
步骤3 : 检查回文数并插入到矩阵中。
步骤4 : 打印结果。
多种方法
我们提供了不同的方法解决问题。
- 通过使用静态初始化矩阵元素
-
通过使用用户定义的方法
我们逐一查看程序及其输出。
方法1:通过使用静态初始化数组元素
在这种方法中,矩阵元素将在程序中进行初始化。然后根据算法创建一个矩阵,并用回文数填充它。
示例
import java.util.Scanner;
public class Main
{
// main method
public static void main(String[] args)
{
// taking the size 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();
// create a square matrix
int[][] matrix = new int[rows][columns];
// Fill the matrix with palindrome numbers
fillMatrixWithPalindromes(matrix);
// Print the matrix
System.out.println("Matrix with Palindrome Numbers:");
printMatrix(matrix);
}
// Function to create a matrix and fill it with Palindrome numbers
public static void fillMatrixWithPalindromes(int[][] matrix) {
int num = 1;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
// Find the next palindrome number
while (!isPalindrome(num)) {
num++;
}
// Fill the matrix with the palindrome number
matrix[i][j] = num;
num++;
}
}
}
// Function to check if a number is an Palindrome number or not
public static boolean isPalindrome(int number) {
String str = String.valueOf(number);
int i = 0;
int j = str.length() - 1;
while (i < j) {
if (str.charAt(i) != str.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
// Function to display the matrix
public static void printMatrix(int[][] matrix) {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
输出
Enter the number of rows: 4
Enter the number of columns: 5
Matrix with Palindrome Numbers:
1 2 3 4 5
6 7 8 9 11
22 33 44 55 66
77 88 99 101 111
方法2:通过使用用户定义的方法
在这种方法中,矩阵元素将在程序中进行初始化。然后通过将矩阵作为参数传递给一个用户定义的方法,并在方法内按照算法创建一个矩阵,并将其填充为回文数。
示例
import java.util.Scanner;
public class Main
{
// main method
public static void main(String[] args)
{
// taking the size 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();
// calling user defined method
func(rows, columns);
}
// user defined method
public static void func(int rows, int columns)
{
// create a square matrix
int[][] matrix = new int[rows][columns];
// Fill the matrix with palindrome numbers
fillMatrixWithPalindromes(matrix);
// Print the matrix
System.out.println("Matrix with Palindrome Numbers:");
printMatrix(matrix);
}
// Function to create a matrix and fill it with Palindrome numbers
public static void fillMatrixWithPalindromes(int[][] matrix) {
int num = 1;
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
// Find the next palindrome number
while (!isPalindrome(num)) {
num++;
}
// Fill the matrix with the palindrome number
matrix[i][j] = num;
num++;
}
}
}
// Function to check if a number is an Palindrome number or not
public static boolean isPalindrome(int number) {
String str = String.valueOf(number);
int i = 0;
int j = str.length() - 1;
while (i < j) {
if (str.charAt(i) != str.charAt(j)) {
return false;
}
i++;
j--;
}
return true;
}
// Function to display the matrix
public static void printMatrix(int[][] matrix) {
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
System.out.print(matrix[i][j] + " ");
}
System.out.println();
}
}
}
输出
Enter the number of rows: 5
Enter the number of columns: 5
Matrix with Palindrome Numbers:
1 2 3 4 5
6 7 8 9 11
22 33 44 55 66
77 88 99 101 111
121 131 141 151 161
在本文中,我们探讨了如何使用Java编程语言创建矩阵并用回文数填充。