package jinzhizhuanhuan; import java.math.BigInteger; import java.util.Scanner; /** * 题目意思很简单,实现16以内的进制之间的转换,将一个n进制的数转换为一个m进制的数。 输入:每行包括3个字符串,第一个表示要转换的n进制的数,第二个表示基数n,第三个表示基数m 输出:屏幕按格式显示七位的转换结果,如果多于七位,输出" ERROR" * @author Administrator * */ public class TestApp { public static void main(String[] args) { Scanner input = new Scanner(System.in); while (input.hasNext()) { String str = input.next();//n进制的字符串 int n = input.nextInt();//基数n int m = input.nextInt();//输出m进制数 BigInteger bi = new BigInteger(str, n);//n进制的大整数 String outStr = bi.toString(m);//进制转换 int len = outStr.length(); if (len > 7) { System.out.println("Error"); }else{ outStr = outStr.toUpperCase(); System.out.printf("%7s ",outStr); } } } }