蓝桥基础题:

十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
给出一个非负整数,将它表示成十六进制的形式。

不会做的一道题。。。好长时间没碰电脑了,打字好慢。

import java.util.*;

Scanner sc =new Scanner(System.in);

String line = sc.nextLine();

sc.next()也是输入字符串。二者区别如下:

next()从遇到第一个有效字符(非空格、换行符)开始扫描,遇到第一个分隔符或结束符(空格或者换行符)时结束。

nextLine()则是扫描剩下的所有字符串知道遇到回车为止,包括空格和换行符。

Long.parseLong(line)是把字符串类型转化为长整型,类似于c#语言。

java.lang.Integer.toHexString()方法用法实例教程 - 此方法返回的字符串表示的无符号整数参数所表示的值以十六进制形式,10→16进制转化。(测试不通过,VIP到期了看不到测试用例了55555,猜测应该是数据超出int范围)

弄了这么久,终于出来了,就是输出格式错了啊啊啊,小写转大写,害。。

String str=s.toUpperCase();

代码如下:

import java.util.*;
import java.lang.*;

public class Main {

public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
Long a=sc.nextLong();
String s= Long.toHexString(a);
String str=s.toUpperCase();
System.out.println(str);
}
}