1. 从键盘输入某个十进制整数数,转换成对应的二进制整数并输出。
public static void main(String[] args) {
Demo3 d2=new Demo3();
d2.arithmetic1();
d2.arithmetic2();
}
private void arithmetic1(){
//思路是借鉴的
Scanner input=new Scanner(System.in);
System.out.print("请输入一个十进制数");
int number=Integer.parseInt(input.nextLine());
int y=0;//余数
String currentValue="";//二进制输出数
while(number>0)
{
currentValue=currentValue+number%2;
number/=2;
}
StringBuilder sb=new StringBuilder();
sb.append(currentValue);
int len=Math.abs(8-sb.length()%8);
//补齐八位
for(int k=0;k<len;k++)
{
sb.append("0");
}
//每4位插入一个逗号间隔
for (int i = 4; i < sb.length(); i+=5) {
sb.insert(i, ",");
}
System.out.println("二进制输出为:"+sb.reverse().toString());
}
private void arithmetic2() {
Scanner input=new Scanner(System.in);
System.out.print("请输入一个十进制数");
int number=Integer.parseInt(input.nextLine());
String binary=Integer.toBinaryString(number);//调用api直接转换
//补齐八位
StringBuilder sb=new StringBuilder();
sb.append(binary);
//反转过来
sb=sb.reverse();
int len=Math.abs(8-sb.length()%8);
//补齐八位
for(int k=0;k<len;k++)
{
sb.append("0");
}
//每4位插入一个逗号间隔
for (int i = 4; i < sb.length(); i+=5) {
sb.insert(i, ",");
}
System.out.println("二进制输出为:"+sb.reverse().toString());
}
运行结果: