admin管理员组

文章数量:1794759

华为——进制转换

华为——进制转换

题目描述

写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )

输入描述:

输入一个十六进制的数值字符串。

输出描述:

输出该数值的十进制字符串。

示例1 输入 0xA 输出

10

关键在于使用Integer的parseInt函数

public static int parseInt(String s, int radix) throws NumberFormatException
使用第二个参数指定的基数,将字符串参数解析为有符号的整数。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ( '\\u002D’)外,字符串中的字符必须都是指定基数的数字(通过 Character.digit(char, int) 是否返回一个负值确定)。返回得到的整数值。

如果发生以下任意一种情况,则抛出一个 NumberFormatException 类型的异常:

  • 第一个参数为 null 或一个长度为零的字符串。
  • 基数小于 Character.MIN_RADIX 或者大于 Character.MAX_RADIX。
  • 假如字符串的长度超过 1,那么除了第一个字符可以是减号 '-' ('u002D’) 外,字符串中存在任意不是由指定基数的数字表示的字符。
  • 字符串表示的值不是 int 类型的值。

示例:

parseInt("0", 10) 返回 0 parseInt("473", 10) 返回 473 parseInt("-0", 10) 返回 0 parseInt("-FF", 16) 返回 -255 parseInt("1100110", 2) 返回 102 parseInt("2147483647", 10) 返回 2147483647 parseInt("-2147483648", 10) 返回 -2147483648 parseInt("2147483648", 10) 抛出 NumberFormatException parseInt("99", 8) 抛出 NumberFormatException parseInt("Kona", 10) 抛出 NumberFormatException parseInt("Kona", 27) 返回 411787

参数:
s - 包含要解析的整数表示形式的 String
radix - 解析 s 时使用的基数。
返回:
使用指定基数的字符串参数表示的整数。
抛出:
NumberFormatException - 如果 String 不包含可解析的 int。

一个参数的ParseInt函数

parseInt public static int parseInt(String s) throws NumberFormatException
将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ( '\\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。

参数:
s - 包含要解析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可解析的整数。

AC代码如下:

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); System.out.println(Integer.parseInt(str.substring(2,str.length()),16)); } } 该测试用例有些问题

下面这个代码通过了:

import java.util.Scanner; public class Main{     public static void main(String[]args){         Scanner in = new Scanner(System.in);         while(in.hasNextLine()){             String str = in.nextLine();             System.out.println(Integer.parseInt(str.substring(2),16));//str.substring(2)表示去除0x         }     } }

本文标签: 华为