[Java] 纯文本查看 复制代码
/*
* 1:键盘录入一个int类型的整数,对其求二进制表现形式
* 如果录入的整数过大,给予提示,录入的整数过大请重新录入一个整数(BigInteger)
* 如果录入的是小数,给予提示,录入的是小数,请重新录入一个整数(BigDecimal)
* 如果录入的是其他字符,给予提示,录入的是非法字符,请重新录入一个整数 注意 推荐使用 字符串的方法
*/
Scanner sc = new Scanner(System.in);
System.out.println(Integer.MAX_VALUE);
System.out.println("请录入一个int类型的整数,返回二进制表现形式");
while (true) {
String line = sc.nextLine();
if (line.matches(".*[\\.].*")) {
if (!line.endsWith(".")) {
System.out.println("录入的是小数,请重新录入一个整数");
continue;
}
}
if (line.matches(".*[\\D].*") || line.endsWith(".")) {
System.out.println("录入的是非法字符,请重新录入一个整数");
} else if ((new BigInteger(line).compareTo(new BigInteger(
Integer.MAX_VALUE + ""))) > 0) {
System.out.println("录入的整数过大请重新录入一个整数");
} else {
String binaryString = Integer.toBinaryString(Integer
.parseInt(line));
System.out.println("该数的二进制是:" + binaryString);
break;
}
}