如何在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编程语言在数组中查找最大回文数的不同方法。
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP