码迷,mamicode.com
首页 > 其他好文 > 详细

进制转换问题

时间:2016-02-17 10:43:39      阅读:131      评论:0      收藏:0      [点我收藏+]

标签:

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\n",outStr);
			}
			
		}
	}
	
}

 

进制转换问题

标签:

原文地址:http://www.cnblogs.com/airycode/p/5194339.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!