不怂Java进制转换(洛谷P1143题题解,Java语言描述)

感慨

Java也能这么好使啊,不容易…… ——进阶的JFarmer

题目要求

P1143题目链接

在这里插入图片描述

分析

进制转换其实也还好,但既然用了Java,那就得扬眉吐气一次,体会体会利用API轻松秒题的感受,机会来啦!

其实呢,进制转换的话,之前我记得自己写过一篇博客就涉及了这个问题 → Here

这里其实我们根本不需要编写冗长的代码,只需要调用java.lang.Integer的方法就完事啦:
先利用Integer.parseInt()将第一个数转化为数值,再用toString()转化成String类型的新的进制。

有个细节是,Java的十六进制输出是小写字母,要用一个toUpperCase()转成大写呀!

具体的实现请看这篇简单的题解代码:

AC代码(Java语言描述)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int origin_radix = Integer.parseInt(scanner.nextLine());
        String num = scanner.nextLine();
        int now_radix = Integer.parseInt(scanner.nextLine());
        scanner.close();
        System.out.println(Integer.toString(Integer.parseInt(num, origin_radix), now_radix).toUpperCase());
    }
}

所思所想

我们要具备造轮子的能力但也要会用轮子。
有时候面对水题,我们如果能利用一些体现语言特性的内置函数来简化编码,真是极好的!!

发布了383 篇原创文章 · 获赞 642 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_43896318/article/details/104092266
今日推荐