Java
 Computer >> コンピューター >  >> プログラミング >> Java

Javaで関数を逆にして追加する


整数が与えられます。ここでの議事は、数字の桁を逆にして、元の数字に逆の数字を追加し、結果の数字が回文であるかどうかを確認することです。このプロセスは、完了するまで繰り返されます。プロセスのブレークポイントは1000回の反復であり、最大long値(Long.MAX_VALUE)より大きい値です。

入力 − 1678

出力 −指定された入力の回文1678 293392

説明 −入力された番号は最初に逆にされ、次に元の番号に追加されます。次に、回文でない場合は回文がチェックされ、更新された番号に対して同じプロセスが繰り返されます。プロセスのブレークポイントは1000回の反復であり、最大long値(Long.MAX_VALUE)より大きい値です。

入力 − 202021038

出力 −指定された入力の回文202021038 1453553541

説明 −入力された番号は最初に逆にされ、次に元の番号に追加されます。次に、回文でない場合は回文がチェックされ、更新された番号に対して同じプロセスが繰り返されます。プロセスのブレークポイントは1000回の反復であり、最大long値(Long.MAX_VALUE)より大きい値です。

以下のプログラムで使用されているアプローチは次のとおりです

  • メイン機能の内部

    • 入力番号はメソッドcalculateReverseandAdd(input)で渡されます

  • メソッドcalculateReverseandAdd

    • 新しい変数rev_numberが導入されました

    • ループは条件数<=max

      で繰り返されます
    • ループ内では、 reverseNumber()メソッドに数値を渡すことにより、数値の逆数が取得されます。

    • 次に、反転した番号が入力番号に追加されます

    • 次に、 checkPalindrome()メソッドに番号を渡すことにより、取得した番号の回文をチェックします。 、はいの場合、番号はユーザーへの出力として出力されます。

    • 数が回文でない場合は、回文が取得されるまで同じプロセスが取得された数で繰り返されます。結果の数が最大long値よりも大きい場合、指定された数の範囲内にある可能性のある回文は存在しません。

      >

import java.util.*;
public class ReverseAdd{
   static final long max = Long.MAX_VALUE;
   static long reverseNumber(long number){
      long rev_number = 0;
      while (number > 0){
         rev_number = rev_number * 10 + number % 10;
         number = number / 10;
      }
      return rev_number;
   }
   static boolean checkPalindrome(long number){
      return (reverseNumber(number) == number);
   }
   static void calculateReverseandAdd(long number){
      long rev_number = 0;
      System.out.println("Palindrome of the given input " + number);
      while (number <= max){
         rev_number = reverseNumber(number);
         number = number + rev_number;
         if (checkPalindrome(number)){
            System.out.println(number);
            break;
         }
         else if (number > max){
            System.out.println("No possible palindromes for the input");
         }
      }
   }
   public static void main(String[] args){
      calculateReverseandAdd(1678);
      calculateReverseandAdd(2961);
      calculateReverseandAdd(202021038);
   }
}

出力

上記のコードを実行すると、次の出力が生成されます

Palindrome of the given input 1678
293392
Palindrome of the given input 2961
69696
Palindrome of the given input 202021038
1453553541

  1. Javaで数を数えるプログラムを実装するにはどうすればよいですか?

    プログラムはJLabelを使用します カウントラベルを保持するには、 JTextField 数値を保持するコンポーネントカウント 、 JButton 追加を作成するコンポーネント 、削除 およびリセット ボタン。追加ボタンをクリックすると、JTextFieldのカウントがインクリメントされます 投稿者 1 削除ボタンをクリックすると、カウントが「1」ずつ減らされます。 [リセット]ボタンをクリックすると、リセットされます 0へのカウント 。 例 import java.awt.*; import java.awt.event.*; import javax.swing.*; publ

  2. Javaと.NETの比較

    Javaは、もともとSun Microsystemsによって開発され、1995年にリリースされた高級プログラミング言語です。Javaは、Windows、Mac OS、さまざまなバージョンのUNIXなどのさまざまなプラットフォームで動作します。 .NET Frameworkは、Microsoftによって発明されたコンピューターソフトウェアフレームワークです。 Microsoft Windows OS(オペレーティングシステム)で動作します。ユーザーインターフェイス、データアクセス、データベース接続、暗号化、Webアプリケーション開発などを提供します。 言語 JavaはJavaパターンのみをサ