ホームページ  >  記事  >  Java  >  ジャワの回文

ジャワの回文

王林
王林オリジナル
2024-08-30 16:26:05592ブラウズ

文字列または数値が反転しても同じである場合、それは回文であると言われます。たとえば、「MADAM」は逆にしても「MADAM」と綴られるため、回文文字列になります。ただし、「LUCKY」の場合、この文字列は回文ではなく、反転すると「YKCUL」になります。回文番号の一部は 365563、48984、12321、171、88、90009、343 で、回文文字列の一部は MADAM、MALAYALAM、LOL、DAD、MOM、C++&++C などです次のセクションで回文のロジックと実装を見てみましょう。このトピックでは、Java の回文について学びます。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Java の回文の背後にあるロジック

数値が回文であるかどうかを確認するには、次のアルゴリズムを使用できます。

  • 回文かどうかをチェックする必要がある入力文字列または数値を取得します。

たとえば、数値 353 を入力として取り上げます。

  • 入力数値を取得して一時変数にコピーします

353-> temp

  • for、while、または任意のメソッドを使用して逆にします。

Reversednumber: rev=353

  • 入力した数値と反転した数値を比較します。

それらが同じである場合、その数は回文数であると言われます。

それ以外の場合、その数字は回文数字ではありません。

つまり

If(inputnum==rev)
{ then palindrome }
Else not palindrome

さまざまな方法を使用して回文をテストする方法?

指定された入力数値が回文であるかどうかを確認するには、いくつかの方法があります。

  • For ループ
  • while ループ
  • ライブラリメソッド(文字列用)

それぞれを詳しく見てみましょう:

1. forループを使って回文番号を調べるプログラム

コード:

//Java program to check whether a String is a Palindrome or not using For Loop
import java.util.*;
public class PalindromeNumberExample {
//main method
public static void main(String[] args) {
int r=0 ; //reversed Integer
int rem, num; //remainder and original number
Scanner s = new Scanner(System.in);
System.out.print("Enter number that has to be checked:");
num = s.nextInt();
//Store the number in a temporary variable
int temp = num;
//loop to find the reverse of a number
for( ;num != 0; num /= 10 )
{
rem = num % 10; // find the modulus of the number when divided by 10
r = r * 10 + rem;
}
//check whether the original and reversed numbers are equal
if (temp == r)
{
System.out.println(temp + " is input number");
System.out.println(r + " is the reversed number");
System.out.println("Since they are equal " + temp + " is a palindrome number");
}
else
{
System.out.println(temp + " is input number");
System.out.println(r + " is the reversed number");
System.out.println("Since they are not equal " + temp + " is not a palindrome number");
}
}
}

出力 1:

ジャワの回文

ここでは、353は反転しても同じなので回文として考えています。

出力 2:

ジャワの回文

ここで、234 は反転しても同じではないため、回文とはみなされません。

2. Whileループを使って回文数を調べるプログラム

コード:

//Java program to check whether a number is a Palindrome or not using While Loop
import java.util.*;
public class PalindromeNumberExample {
public static void main(String[] args) {
int r=0, rem, num;
Scanner s = new Scanner(System.in);
System.out.print("Enter number that has to be checked:");
num = s.nextInt();
//Store the number in a temporary variable
int temp = num;
//loop to find the reverse of a number
while( num != 0 )
{
rem= num % 10;
r= r * 10 + rem;
num=num/10;
}
//check whether the original and reversed numbers are equal
if (temp == r)
{
System.out.println(temp + " is input number");
System.out.println(r + " is the reversed number");
System.out.println("Since they are equal " + temp + " is a palindrome number");
}
else
{
System.out.println(temp + " is input number");
System.out.println(r + " is the reversed number");
System.out.println("Since they are not equal " + temp + " is not a palindrome number");
}
}
}

出力 1:

ジャワの回文

出力 2:

ジャワの回文

3.ライブラリメソッドを使用して回文数をチェックするプログラム(文字列用)

コード:

//Java program to check whether a String is a Palindrome or not using Library method
import java.util.*;
public class PalindromeNumberExample {
//Function to check whether the string is palindrome or not
public static void PalindromeCheck(String str)
{
// reverse the input String
String rev = new StringBuffer(str).reverse().toString();
// checks whether the string is palindrome or not
if (str.equals(rev))
{
System.out.println("input string is :" + str);
System.out.println("Reversed string is :" + rev);
System.out.println("Since the input and reversed string are equal, "+ str +" is a palindrome");
}
else
{
System.out.println("input string is :" + str);
System.out.println("Reversed string is :" + rev);
System.out.println("Since the input and reversed string are not equal, "+ str +" is not a palindrome");
}
}
public static void main (String[] args)
{
PalindromeCheck("MALAYALAM");
}
}

出力:

ジャワの回文

ここでは、入力文字列がプログラム自体に渡されます。

文字列が回文であるかどうかを確認するには、次のプログラムも使用されます。

コード:

//Java program to check whether a String is a Palindrome or not
import java.util.*;
public class PalindromeNumberExample {
public static void main(String args[])
{
String st, rev = "";
Scanner sc = new Scanner(System.in);
System.out.println("Enter the string that has to be checked:");
st = sc.nextLine();
int len = st.length(); //length of the string
for ( int i = len- 1; i >= 0; i-- )
rev = rev + st.charAt(i);
if (st.equals(rev))
{
System.out.println("input string is :" + st);
System.out.println("Reversed string is :" + rev);
System.out.println("Since the input and reversed string are equal, "+ st +" is a palindrome");
}
else
{
System.out.println("input string is :" + st);
System.out.println("Reversed string is :" + rev);
System.out.println("Since the input and reversed string are not equal, "+ st +" is not a palindrome");
}
}
}

出力:

ジャワの回文

結論

数字が反転しても同じままである場合、その数字は回文であると言われます。回文は文字列でもチェックできます。回文の数字と文字列には、MOM、マラヤーラム語、DAD、LOL、232、1331 などがあります。このドキュメントでは、アルゴリズム、メソッド、実装など、回文のいくつかの側面について説明します。

以上がジャワの回文の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Javaの逆引き番号次の記事:Javaの逆引き番号