【java】twitterに投稿する。【初心者】
mokabuu
mokabuu.com
第一話:【Java】2進数8進数10進数で回文
第二話:【Java】2進数8進数10進数で回文 #Integer #char
第一話でコードを書き
先輩のコードレビューを受け既存のメソッドを知り
更には第三話まできてしまいました・・・。
そろそろ完璧なコードにしたいよォ・・・。
[adsense]
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()を使いましょう!