进制转换问题

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);
			}
			
		}
	}
	
}
原文地址:https://www.cnblogs.com/airycode/p/5194339.html