题解 | #进制转换#

进制转换

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

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in);
        // 注意 hasNext 和 hasNextLine 的区别
        while (sc.hasNext()) { // 注意 while 处理多个 case
            String str=sc.nextLine();
            //十六进制字符串如何改为十进制,好像是每个单位*16的几次饭
            String num=str.substring(2);//前两位不算
            int result=0;
            int power=1;
            for(int i=num.length()-1;i>=0;i--)
            {
                char c=num.charAt(i);
                if(c>='0'&&c<='9')
                {
                    result+=(c-'0')*power;
                }
                else if(c>='A'&&c<='F')
                {
                    result+=(c-'A'+10)*power;
                }
                power*=16;
            }
            System.out.println(result);
        }
        sc.close();
    }
}

全部评论

相关推荐

头像
09-14 15:57
四川大学 Java
点赞 评论 收藏
分享
独特的大学生想当offer收割机:浪潮赚钱省立花,一分别想带回家
点赞 评论 收藏
分享
09-19 10:24
已编辑
江南大学 Java
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务