您的位置:首页 > 其它

进制转换问题

2016-02-17 09:29 375 查看
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);
}

}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: