“新聞紙(しんぶんし)”、や “トマト”、”旦那もホモなんだ” など、
どっちから読んでも同じ文になる、回文。
今回はJavaで回文かどうかチェックするコードをシェアしておきます。
回文チェッカー
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | 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(); } } } |
出力例
1 2 3 4 5 6 7 8 9 10 11 12 | 回文を入力してください: まっちょ 回文ではありません もう一度続けますか? (y/n)? y 回文を入力してください: しんぶんし これは回文です! もう一度続けますか? (y/n)? |