题解 | #进制转换#
进制转换
http://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6
思路:
1.输入字符串,使用substring()方法去掉0x
2.从后往前遍历,每遍历一次,乘数因子乘以16。
3.如果当前字符减去'0'字符大于9,说明它是字母,则再减去7。
4.把每个字符计算的结果加在一起就是最终结果。
public static void main(String[] args){
Scanner in=new Scanner(System.in);
int res=0;
while(in.hasNext()){
String value=in.next();
String str=value.substring(2);
res=0;
for(int i=str.length()-1,j=1;i>=0;i--,j*=16){
char tmp=str.charAt(i);
int t=tmp-'0';
if(t>9){
t=t-7;
}
res+=t*j;
}
System.out.println(res);
}
}