首頁 > Java > java教程 > Java程式以反轉一個數字並檢查它是否為回文數

Java程式以反轉一個數字並檢查它是否為回文數

WBOY
發布: 2023-08-26 15:09:13
轉載
1451 人瀏覽過

Java程式以反轉一個數字並檢查它是否為回文數

什麼是回文數?

如果給定一個數字(兩位、三位或四位數字),將每個數字的位置從前到後反轉,然後反過來,然後將所有元素反轉後輸出的數字是否相同那麼它就是一個回文數。

  • 字串 - 字串是一種儲存膠囊或儲存方法,我們可以在 Java 程式中儲存字元序列。

  • 數組 - 數組是類似類型的資料以順序形式放置在不同位置的集合,這樣可以透過簡單地添加來更輕鬆地計算資料在程式中的位置與調查中的基礎數據。

讓我們透過一個例子來理解這一點 -

Given Input: a = 102022220201
Output : Reverse of a = 102022220201
//The Number Is Palindrome = YES//
登入後複製
Given Input: b =20011997
Output : Reverse of b = 79911002
//The Number Is Palimdrome = NO//
登入後複製

演算法 - 反轉數字及其回文

這是反轉數字並找出它是否回文的通用演算法 -

  • 第 1 步 - 檢查回文數。

  • 第 2 步 - 該數字應保存在非永久變數中。

  • 第 3 步 - 更改數字。

  • 第 4 步 - 現在檢查臨時變數中的數字與反轉後的數字。

  • 第 5 步- 如果兩個數字保持相同或相同,則「這是一個回文數」。

  • 第 6 步 - 要/否則「這不是」。

語法:第 1 部分 - 反轉數字

{
   int a,res=0,m;
   Scanner sc=new Scanner(System.in);
   System.out.println("Enter a number which you want to be reversed");
}
m=sc.nextInt();
for( ;m!=0; ) {
   a=m%10;
   res=(res*10)+a;
   m=m/10;
}
登入後複製

語法:第 2 部分 - 尋找數字的回文

if (originalNum1 == reversedNum1) {
   System.out.println(originalNum1 + " is a Palindrome number.");
}
else {
   System.out.println(originalNum1 + " is not a Palindrome number.");
}
登入後複製

讓我們看看Java中的回文程式。這將是最簡單的回文程序形式。

以下方法對於檢查回文數非常有用 -

  • 透過使用字串和陣列檢查數字是否是回文。

  • 透過在Java中使用字串找出回文數。

  • 透過檢查陣列是否為回文。

透過使用字串和陣列檢查數字回文數

檢查數字是否回文的步驟 -

  • 未設定標誌的初始化或標誌值為 0。

  • 將陣列大小設為 n/2。

  • 檢查循環的條件。然後將標誌值設為1。

  • 中斷。

  • 循環結束並得到結果。

範例

import java.util.*;
public class palindromeTest{
   public static void main(String args[]){
      int n;
      System.out.println("Enter a number to test");
      Scanner sc = new Scanner (System.in);
      n=sc.nextInt();
      int r=0 ,q=0 ,num=0 ,p=0;
      num= n;
      while(n!=0){
         r = r%10;
         q = n/10;
         p = p*10+r ;
         n = q;
      }
      if (num==p){
         System.out.println("the number is a palindrome number");
      }
      else{
         System.out.print("the number is not palindrome");
      }
   }
}
登入後複製

輸出

Enter a number to test
1111
the number is not palindrome
登入後複製

透過使用字串找出 Java 中的回文數 -

A palindrome number if get reversed, it will return the same number as the input provided. Using the StringBuffer method with the one way reverse(), we can check the palindrome number by using Java. In below execkple can check the palindrome number by using Java. In below exple the input string is palindrome or not.

範例

public class Main {
   public static void main(String[] args) {

      String str = "Radar2022", reverseStr2 = "";
      int strLength1 = str.length();
      for (int i = (strLength1 - 1); i >=0; --i) {
      reverseStr2 = reverseStr2 + str.charAt(i);
      }
      if (str.toLowerCase().equals(reverseStr2.toLowerCase())) {
         System.out.println(str + "  -is a Palindrome String.");
      }
      else {
         System.out.println(str + " -is not a Palindrome String.");
      }
   }
}
登入後複製

輸出

Radar2022 -is not a Palindrome String.
登入後複製

透過檢查陣列是否回文

有兩個過程來檢查陣列是否為回文。

  • 如果字串中只有一個字符,則傳回 true。

  • 否則,只需比較第一個和最後一個字元並將它們放入遞歸方法中即可。

範例

public class findapalindrome {

   static void palindrome(int arr[], int n){
      int flag7 = 0;
      for (int i = 0; i <= n / 2 && n != 0; i++) {
         if (arr[i] != arr[n - i - 1]) {
            flag7 = 1;
            break;
         }
      }
      if (flag7 == 1)
      System.out.println("The String Is Not Palindrome");
      else
      System.out.println("The String Is Palindrome");
   }
   public static void main(String[] args){
      int arr[] = { 100, 200, 300, 222, 1111 };
      int n = arr.length;
      palindrome(arr, n);
   }
}
登入後複製

輸出

The String Is Not Palindrome
登入後複製

結論

經過定義和一些基於理論的程序後,可以輕鬆地說回文數是一種即使在更改原始數字後也保持不變的數字。

所有這些解釋都透過範例進行了正確描述,為了更好地理解,我們還提供了基於三種不同方法的範例程式。

以上是Java程式以反轉一個數字並檢查它是否為回文數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板