如何在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程式語言在陣列中查詢最大回文數的不同方法。

更新於:2023年1月5日

2K+ 次檢視

啟動您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.