用户输入一个十进制的数,然后分别转为二、八、十六进制的数
列如用户输入一个十进制数:20
结果为
二进制:10100
八进制:24
十六进制:14
import java.util.Scanner;
public class 进制转换{
public static void f(StringBuilder sb){
String str = sb.toString();
for (int i = 0; i < str.length(); i++) {
System.out.print(str.charAt(str.length()-i-1));
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char arr[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder();
StringBuilder sb3 = new StringBuilder();
int num = sc.nextInt();
int er = num;
do {
sb1.append(er%2);
er=er/2;
} while (er!=0);
f(sb1);
System.out.println();
int ba = num;
do {
sb2.append(ba%8);
ba=ba/8;
} while (ba!=0);
f(sb2);
System.out.println();
int shiliu = num;
int Fz = 0;
do {
Fz=shiliu%16;
if (Fz>=10&&Fz<=15) {
sb3.append(arr[Fz]);
}else {
sb3.append(shiliu%16);
}
shiliu=shiliu/16;
} while (shiliu!=0);
f(sb3);
}
}