【Java】2進数8進数10進数で回文 #StringBuffer


あらすじ
第一話:【Java】2進数8進数10進数で回文
第二話:【Java】2進数8進数10進数で回文 #Integer #char

第一話でコードを書き
先輩のコードレビューを受け既存のメソッドを知り
更には第三話まできてしまいました・・・。

そろそろ完璧なコードにしたいよォ・・・。



上長「reverseメソッド((ボソ…」

public class Main {

	private static final int MIN_NUM = 10;

	public static void main(String[] args) {
		int index = 1;
		while (true) {
			String binary = Integer.toBinaryString(index);
			String octal = Integer.toOctalString(index);
			String decimal = String.valueOf(index);
			if (index >= MIN_NUM) {
				if (isPalindrome(decimal)) {
					if (isPalindrome(octal)) {
						if (isPalindrome(binary)) {
							printer(index, binary, octal, decimal);
							break;
						}
					}
				}
			}
			printer(index, binary, octal, decimal);
			index++;
		}
	}

	private static boolean isPalindrome(String givenNum) {
		boolean palindrome = false;
		String reverse = new StringBuffer(givenNum).reverse().toString();
		if (givenNum.equals(reverse)) {
			palindrome = true;
		}
		return palindrome;
	}

	private static void printer(int index, String binary, String octal,
			String decimal) {
		System.out.println("index-------" + index);
		System.out.println("binary------" + binary);
		System.out.println("octal-------" + octal);
		System.out.println("decimal-----" + decimal);
		System.out.println();
	}
}

なんてことでしょう!
まじでほぼ何も書かずに終わってしまいました・・・。
こんな簡単なお話だったのですね。笑

トホホ・・・。

回文判定をするときはStringBufferのreverse()を使いましょう!


最後まで読んでいただきありがとうございます。もしこの記事を気に入って頂けたようであればシェアをお願い致します。非常に励みになります。


コメントを残す