Java语言代码键盘输入一个int类型的整数,对其求二进制表现形式。如果录入整数过大,给以提示“录入整数过大,请重新输入一个整数”;如果录入的是小数,给提示“录入的是小数,请重新输入一个整数”;如果录入的其他字符,请提示“录入的是非法字符,请输入一个整数”。
时间: 2024-06-06 09:11:22 浏览: 87
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数:");
if (scanner.hasNextInt()) { // 判断输入是否为整数
int num = scanner.nextInt();
if (num < 0) { // 如果是负数,则转成相应的正数进行计算
num = Math.abs(num) - 1;
String binary = Integer.toBinaryString(num);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 32 - binary.length(); i++) {
sb.append("1"); // 补齐高位
}
sb.append(binary);
for (int i = 0; i < sb.length(); i++) {
System.out.print(sb.charAt(i)); // 逐位输出
if ((i + 1) % 4 == 0) {
System.out.print(" "); // 每四位加一个空格
}
}
} else { // 如果是正数,直接输出二进制表现形式
String binary = Integer.toBinaryString(num);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 32 - binary.length(); i++) {
sb.append("0"); // 补齐高位
}
sb.append(binary);
for (int i = 0; i < sb.length(); i++) {
System.out.print(sb.charAt(i)); // 逐位输出
if ((i + 1) % 4 == 0) {
System.out.print(" "); // 每四位加一个空格
}
}
}
} else { // 如果输入不是整数,则给出相应提示
String input = scanner.next();
if (input.contains(".")) {
System.out.println("录入的是小数,请重新输入一个整数");
} else {
System.out.println("录入的是非法字符,请重新输入一个整数");
}
}
}
}
阅读全文