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()); }
运行结果: