如何在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