题解 | #进制转换#

进制转换

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        String data = in.next();
        Hexadecimal2(data);
}

public static long power(long date, int di, int mi) {

    if (mi == 0)
        return date;

    return (long) Math.pow(di, mi) * date;


}

public static  void Hexadecimal2(String arry) {
    // String arry = "0x775E";
    int tops = arry.length();
    long sum = 0;
    char ch;
    for (int i = 2; i < arry.length(); i++) {
        ch = arry.charAt(i);
//           System.out.println(ch);
        if (ch == 'A' || ch == 'B' || ch == 'C' || ch == 'D' || ch == 'E'||ch=='F') {
            int k = ch;
            sum += (k - 55) * power(tops - i - 1);
//               System.out.println(sum);
        } else {
            sum += (arry.charAt(i) - '0') * power(tops - i - 1);
        }
//           System.out.println(sum);

    }

    System.out.println(sum);


}
public static long power(int mi) {

    if (mi == 0)
        return 1;

    return (long) Math.pow(16, mi);


}


}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务