Java–蓝桥杯练习题(求助)
Java–蓝桥杯练习题
最近在进行蓝桥杯习题库练习,遇到十六进制转换十进制的问题,不知是哪里出了错误
题目如下
实现代码如下
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String str = sc.next();
sc.close();
int l = str.length();
int sum = 0;
for(int i=l,j=0;i>0;i--,j++) {
int n = getValue(String.valueOf(str.charAt(i-1)));
for(int m=0;m<j;m++) {
n = n * 16;
}
sum += n;
}
System.out.println(sum);
}
static int getValue(String s) {
int n = 0;
switch (s) {
case "A":
n = 10;
break;
case "B":
n = 11;
break;
case "C":
n = 12;
break;
case "D":
n = 13;
break;
case "E":
n = 14;
break;
case "F":
n = 15;
break;
default:
n = Integer.parseInt(s);
break;
}
return n;
}
}
测试结果显示有一例运行错误,求帮助指出错误