进制转换问题
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); } } } }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步