zoukankan      html  css  js  c++  java
  • 【JAVA蓝桥杯】基础练习2 十六进制转十进制

    资源限制
    时间限制:1.0s   内存限制:512.0MB
    问题描述
      从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
      注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
    样例输入
    FFFF
    样例输出
    65535
    JAVA答案如下代码
    import java.math.BigInteger;
    import java.util.Scanner;
    public class Main {
        public static void main(String[] args) {
            Scanner input = new Scanner(System.in);
            BigInteger bi = null;
            String enter = null;
            enter = input.next();
            bi = new BigInteger(enter, 16);
            String show = bi.toString(10);
            System.out.println(show);
        }
    }

    疑难解答:1.BigInteger是存储非常大的数据类型,题目中已经给出了最长为8位的字符串,而Integer的数据类型最多也只能存储8位,我们防止数据溢出一般采用BigInteger类型。

    2.给bi和enter赋值null与不赋值是有区别的,给bi和enter赋值null的目的是完成了初始化。(总之,一个局部对象使用之前肯定要先赋值,但不管你在什么时候赋值。所以,无论是成员变量还是局部变量,声明的时候不赋值只声明当然是可以的。)

    3.bi = new BigInteger(enter,16);这行代码的含义是将enter这一个字符串转化为16进制的数,如果不带进制就是默认10进制。

    4.在这里toString(10);的含义就是把输出的数转换为十进制,当然还可以是其他进制。至于toSring的其他用法以后我会专门写一个随笔,先介绍在这里的用法吧。

  • 相关阅读:
    maven 执行mvn package/clean命令出错
    IDEA
    贝叶斯
    python基础之python基本数据类型
    python基础(一)python数据类型,条件,循环
    ...
    读取70开头的xml,gbk转成utf-8
    CSS实现多个Div等高,类似表格布局
    JBOSS 5 session时间配置
    padding
  • 原文地址:https://www.cnblogs.com/chenxi1944362410/p/12283768.html
Copyright © 2011-2022 走看看