“新聞紙(しんぶんし)”、や “トマト”、”旦那もホモなんだ” など、
どっちから読んでも同じ文になる、回文。
今回はJavaで回文かどうかチェックするコードをシェアしておきます。
回文チェッカー
import java.util.Scanner;
public class Kaibun {
public static void main(String[] args)
{
String str, another = "y";
int left, right;
Scanner scan = new Scanner(System.in);
while (another.equalsIgnoreCase("y")) // y もしくは Y で続行
{
System.out.println("回文を入力してください: ");
str = scan.nextLine();
left = 0;
right = str.length() - 1;
// this is the inner loop
while (str.charAt(left) == str.charAt(right) && left < right)
{
left++;
right--;
}
System.out.println();
if (left < right)
System.out.println("回文ではありません");
else
System.out.println("これは回文です!");
System.out.println();
System.out.print("もう一度続けますか? (y/n)? ");
another = scan.nextLine();
}
}
}
出力例
回文を入力してください:
まっちょ
回文ではありません
もう一度続けますか? (y/n)? y
回文を入力してください:
しんぶんし
これは回文です!
もう一度続けますか? (y/n)?