HJ5-进制转换(十六进制转十进制)(重复)

(java实现)


题目描述:

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。

输入描述:

输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子https://www.nowcoder.com/discuss/276处理多组输入的问题。

输出描述:

输出该数值的十进制字符串。不同组的测试用例用\n隔开。

示例1:

输入

0xA
0xAA

输出

10
170


问题分析:

思路一:使用十六进制的原理进行计算。
思路二:使用内置函数

相关知识:


参考代码:

思路一实现:

import java.util.*;
public class Main {
     public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        while (input.hasNext())
        {
            String str = input.nextLine();
            str = str.substring(2);
            char[] ch = str.toCharArray();
            int sum = 0;
            int tmp = 0;
            for (int i=ch.length-1; i>=0; i--)
            {
                if (ch[i]>='0' && ch[i]<='9')
                {
                    tmp = ch[i]-'0';
                    sum = sum + (int)Math.pow(16,ch.length-i-1)*tmp;
                }else
                {
                    tmp = ch[i]-'A'+10;
                    sum = sum + (int)Math.pow(16,ch.length-i-1)*tmp;
                }
            }
            System.out.println(sum);
        }
    }
}

思路二实现:

import java.util.*;
public class Main
{
    public static void main(String[] args)
    {
        Scanner input = new Scanner(System.in);
        while (input.hasNext())
        {
            String str = input.nextLine();
            System.out.println(Integer.decode(str));
        }
    }
}
全部评论

相关推荐

04-11 21:31
四川大学 Java
野猪不是猪🐗:(ja)va学弟这招太狠了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务