Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数字");
int x = sc.nextInt();
System.out.println("请输入当前数字的进制(n>2)");
int m = sc.nextInt();
System.out.println("请输入要转换的数字的进制(n<36)");
int n = sc.nextInt();
sc.close();
String s1 = String.valueOf(x);
//将该数字转换成十进制的数值
int q = 0;
for(int i = s1.length() - 1,j = 0;i >= 0;i --,j ++){
q += Math.pow(m, j) * (Integer.valueOf((char)s1.charAt(i) - 48));
}
System.out.println("该数值当前的进制是"+m+" 该数字转换成十进制的数值为"+q);
System.out.println("接下来我们转换成"+n+"进制!");
List<Integer> remainderArray = new ArrayList<Integer>();
while(q >= n){
remainderArray.add(q % n);
q /= n;
}
remainderArray.add(q % n);
//拼接
StringBuilder sb = new StringBuilder();
for(int i = remainderArray.size() - 1;i >= 0;i --){
sb.append(remainderArray.get(i));
}
System.out.println(sb);
进制转换
最新推荐文章于 2018-06-04 08:44:01 发布