题目详情:
题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。
对于 16 进制,我们使用字母 A-F 来表示 10 及以上的数字。
如法炮制,一直用到字母 Z,就可以表示 36 进制。
36 进制中,A 表示 10,Z 表示 35,AA 表示370。
你能算出 MANY 表示的数字用 10 进制表示是多少吗?
解题思路:
本题为进制转换,就是把每个字符提出来权位相加即可,我本来想搞成Scanner的输入,然后他是填空题,只需要计算MANY即可
代码实现:
import java.util.Scanner;
public class d1225 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String line = "MANY";
char[] ch = line.toCharArray();
int sum = 0;
for (int i = 0; i < ch.length; i++) {
int num = 0;
if(ch[i]>='A'){
num = ch[i]-'A'+10;
}else {
num = ch[i]-'0';
}
sum = (int) (num*Math.pow(36, ch.length-i-1)+sum);
}
System.out.println(sum);
}
}
答案:
1040254