java 题目 接受一个十六进制数,输出该数的十进制表示

描述

写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。
 
数据范围:保证结果在 1 \le n \le 2^{31}-1 \1n2311 
 
注意本题有多组输入

输入描述:

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

输出描述:

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

示例1

输入:
0xA
0xAA
输出:
10
170

方法一:

复制代码
 1 import java.util.Scanner;
 2 
 3 public class Main {
 4     public static void main(String[] args) {
 5         Scanner scanner = new Scanner(System.in);
 6         while(scanner.hasNext()) {
 7             String s = scanner.next();
 8             System.out.println(Integer.decode(s));
 9         }
10     }
11 }
复制代码

 

方法二:

复制代码
 1 import java.io.*;
 2  
 3 public class Main{
 4     public static void main(String[] args)throws Exception{
 5         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 6         String str;
 7         while((str = br.readLine()) != null){
 8             //parseLong(String, int),int指定基数,字符串中字符要符合基数的数字,这里指定为16进制,字符串取0x后面内容
 9             System.out.println(Long.parseLong(str.substring(2),16));  
10         }
11     }
12 }
复制代码

 

posted @   海漠  阅读(725)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示