p94 进制转换 将一个大M进制数转化为一个大N进制数

import java.math.BigInteger;
import java.util.Scanner;

public class Main{
	public static void main(String[] args)
	{
		Scanner scan = new Scanner(System.in);
		while(scan.hasNext())
		{
			int M=scan.nextInt();//M和N可以根据题目要求改
			int N=scan.nextInt();
			String val = scan.next();
			//next忽略空格,enter,tab直到发现有效的输入
			//nextLine会将Enter之前字符作为输入//进制转化出来的BigInteger要 new出来,其他的不需要直接BigInteger.就行了
			BigInteger big=new BigInteger(val, M);//得到M进制转化为十进制后的BigInteger!!!这个时候BigInteger已经是十进制了
			
			//必须这样写用new创建实例,不能把下面的big代替为一次性的BigInteger
			String ans = big.toString(N).toLowerCase();//根据题目要求调整大小写//这个默认是小写的
			System.out.println(ans);
			
		}
	}
}

第一种题目,十六进制给你的是ox开头的,使用.substring(begin) (其实这个还有substring(begin,end))

String val = scan.next().substring(2);


第二种题目

输出的字母的格式有要求,在最后加一个toUpperCase或者toLowerCase就行了


没啥好说的,BigInteger赛高




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值