您的位置:首页 > 其它

华为在线训练之16进制转换10进制

2016-05-18 22:11 351 查看
package test;
import java.util.List;
import java.util.Scanner;
import java.lang.Math;
import java.util.ArrayList;

public class Six {
static int result;
static String str;
static List<Integer>list = new ArrayList<Integer>();
public static void main(String[]args){
Scanner sc = new Scanner(System.in);

while(sc.hasNext()){

str = sc.nextLine().trim().substring(2);

for(int i=str.length();i>0;i--){
Integer s = 0;

switch(str.charAt(i-1)){

case 'A':
s = 10;
break;
case 'B':
s = 11;
break;
case 'C':
s = 12;
break;
case 'D':
s = 13;
break;
case 'E':
s = 14;
break;
case 'F':
s = 15;
break;
default:

s=Integer.parseInt(String.valueOf(str.charAt(i-1)));
//					System.out.println(s);

}
list.add(s);
//				System.out.println(list);
//				result = (int) (s* Math.pow(16,i));
//				System.out.println(str.length()-i);

//				System.out.println(result);
}
System.out.println(list);
for(int i=0;i<str.length();i++)
result += (int) (list.get(i)* Math.pow(16,i));

System.out.println(result);
list.clear();
result =0;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: