Java 如何找到数组中最大的回文数

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编程语言,探讨了在数组中找到最大回文数的不同方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程