Java 如何找到数组中最大的回文数
在Java中,数组是一个对象。它是一种非基本数据类型,用于存储相同数据类型的值。
根据问题描述,我们需要找到数组中最大的回文数。如果一个数字在反转后与原始数字相等,则称其为回文数。
让我们探讨一下如何使用Java编程语言来完成这个任务。
展示一些示例
实例-1
Suppose the original array is {857, 232, 1996991, 54545}
在找到一个数组中的最大回文数后,结果将是 −
1996991 is the largest palindrome of a given array.
实例-2
Suppose the original array is {2357, 23232, 568568, 1238321}
在找到数组的最大回文数后,结果将为 –
1238321 is the largest palindrome of a given array.
实例-3
Suppose the original array is {557, 2325532, 56465, 6238326}
寻找数组中最大的回文后,结果为−
6238326 is the largest palindrome of a given array.
步骤
- 步骤1 - 声明并初始化一个整数数组。
-
步骤2 - 对数组按升序进行排序。
-
步骤3 - 获取数组中最大的元素。
-
步骤4 - 反转最大元素。
-
步骤5 - 检查是否为回文。
-
步骤6 - 打印结果。
语法
要获取数组的长度(即数组中的元素数),可以使用数组的内置属性 length 。
以下是其语法:
array.length
‘array’指的是数组引用。
多种方法
我们提供了不同的解决方案。
- 通过使用数组的静态初始化。
-
通过使用用户定义的方法。
让我们逐个查看程序及其输出。
方法1:通过使用数组的静态初始化
示例
在这种方法中,数组元素将在程序中初始化。然后按照算法找出数组中的最大回文数。
import java.util.*;
public class Main {
public static void main(String args[]){
//Declare and initialize the array elements
Integer arr[] = { 857, 232, 1996991, 54545 };
System.out.println("Given array is: "+Arrays.toString(arr));
//sorting array in ascending order
Arrays.sort(arr);
for (int i = arr.length - 1; i >= 0; i--){
String reverse = "";
//getting the largest element in an array
String original = Integer.toString(arr[i]);
//reversing the largest element
int length = original.length();
for ( int j = length - 1; j >= 0; j-- ) {
reverse = reverse + original.charAt(j);
}
//checking for palindrome
if (original.equals(reverse)) {
System.out.println(arr[i] + " is the largest palindrome of a given array.");
}
break;
}
}
}
输出
Given array is: [857, 232, 1996991, 54545]
1996991 is the largest palindrome of a given array.
方法2:通过使用用户定义的方法
示例
在这种方法中,数组元素将在程序中初始化。然后通过将数组作为参数来调用一个用户定义的方法,并在该方法内按照算法找到数组中的最大回文数。
import java.util.*;
public class Main {
public static void main(String args[]){
//Declare and initialize the array elements
Integer arr[] = { 557, 2325532, 56465, 6238326 };
System.out.println("Given array is: "+Arrays.toString(arr));
//calling user defined method
func(arr);
}
//user defined method
static void func(Integer arr[]){
//sorting array in ascending order
Arrays.sort(arr);
for (int i = arr.length - 1; i >= 0; i--){
String reverse = "";
//getting the largest element in an array
String original = Integer.toString(arr[i]);
//reversing the largest element
int length = original.length();
for ( int j = length - 1; j >= 0; j-- ) {
reverse = reverse + original.charAt(j);
}
//checking for palindrome
if (original.equals(reverse)) {
System.out.println(arr[i] + " is the largest palindrome of a given array.");
}
break;
}
}
}
输出
Given array is: [557, 2325532, 56465, 6238326]
6238326 is the largest palindrome of a given array.
在本文中,我们通过使用Java编程语言,探讨了在数组中找到最大回文数的不同方法。