题目
从标准输入读入一个非负十进制整数,将其转换为大写十六进制字符串并在控制台输出。
输入格式:一行输入一个非负整数 n。
输出格式:输出大写十六进制字符串(如 255 对应 FF),末尾换行。
数据范围与约定:0 ≤ n ≤ 2×109。
思路与算法
1. 十六进制字符映射
余数 r = n % 16:若 r < 10 映射为 '0' + r;若 r ≥ 10 映射为 'A' + (r - 10)。
2. 逆序输出
同样采用除 16 取余、逆序排列的逻辑,直到 n == 0。0 特判输出 0。
完整程序
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long n = sc.nextLong();
// 转为小写十六进制字符串输出
System.out.println(Long.toHexString(n));
}
}运行示例
输入:
255输出:
ff