前言
牛客网PAT乙级训练1017
题目描述
nowcoder费了很大劲,终于和地外文明联系上。我们地球人通常有10根手指,因此我们习惯用10进制的数,而外星人的手指有16跟、8根等不等的数目,因此他们使用与我们不同的进制。为了方便沟通,需要你开发一款工具,把地球人的10进制转换成外星人的R进制形式。
输入描述
输入有多行。
每行包括两个正整数n和R,其中2≤R≤16。
输入直到文件结束为止。
输出描述
对于每个用例,输出n对应的R进制形式。
超过10进制的数,10用A表示、11用B表示,依次类推。
输入例子
1989 2
1119 16
输出例子
11111000101
45F
解决方案
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
System.out.println(Integer.toString(scanner.nextInt(),scanner.nextInt()).toUpperCase());
}
}
}
while(scanner.hasNext()) //输入直到文件结束为止
Integer.toString(int par1,int par2),par1表示要转成字符串的数字,par2表示要转成的进制表示
本题中因为要求转成的字符串的字母为大写字母,所以需要再最后的结果加一个toUpperCase()方法来把小写字母变成大写字母。