【发布时间】:2015-12-16 02:55:18
【问题描述】:
有没有不使用Integer.toBinaryString 方法将整数转换为二进制数的方法?
我试图找出转换的算法,但没有任何运气。
我的任务是这样的:(https://open.kattis.com/problems/reversebinary)
在 Scanner 的帮助下插入一个 Int。
将 Int 转换为二进制。
反转二进制文件。
打印出新的 Int。
例如,数字 11 在二进制中是 1011。
现在反转二进制数 1011,得到 1101(即数字 13)
并打印出 13。
这就是我得到的,但我仍然使用了Integer.toBinaryString 方法,得到了NumberFormatException。
int reverse = 0;
int number, binary;
Scanner scn = new Scanner(System.in);
number = scn.nextInt();
String b = Integer.toString(number, 2);
binary = Integer.parseInt(b);
while (binary != 0) {
reverse = reverse * 10 + binary % 10;
binary = binary / 10;
}
int newNumber = Integer.parseInt(String.valueOf(reverse), 2);
System.out.println(newNumber);
}
}
【问题讨论】:
标签: java algorithm java.util.scanner