题解 | #进制转换#

进制转换

https://www.nowcoder.com/practice/8f3df50d2b9043208c5eed283d1d4da6

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
   public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        String s1 = s.substring(2);
        char[] chars = s1.toCharArray();
        int sum = 0;
        int n = 1;
        for (int i = chars.length-1; i  >= 0; i--) {
            if(chars[i]=='A'){
                sum+=10*n;
                n*=16;
            }else if(chars[i]=='B'){
                sum+=11*n;
                n*=16;
            }else if(chars[i]=='C'){
                sum+=12*n;
                n*=16;
            }else if(chars[i]=='D'){
                sum+=13*n;
                n*=16;
            }else if(chars[i]=='E'){
                sum+=14*n;
                n*=16;
            }else if(chars[i]=='F'){
                sum+=15*n;
                n*=16;
            }else {
                Integer s2 = Integer.valueOf(String.valueOf(chars[i]));//这里需要将字符数组元素转成整数才能计算//得先转成字符串
                sum = sum+ s2 *n;
                n*=16;
            }
        }
         System.out.println(sum);
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务