问题描述
十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有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。
给出一个非负整数,将它表示成十六进制的形式。输入格式
输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式
输出这个整数的16进制表示
样例输入
30
样例输出
1E
题目给出的测试数据0<=a<=2147483647,
所以直接使用Integer.toHexString()方法即可搞定。
需要注意:题目要求输出的十六进制数据中的字母是大写,而Integer.toHexString()方法返回值是小写的,所以还需要使用toUpperCase()方法转换为大写。
package practice;
import java.util.Scanner;
public class 十进制转十六进制 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num10 = sc.nextInt();
sc.close();
System.out.println(Integer.toHexString(num10).toUpperCase());
}
}
附:
String类的常用方法
1.String的构造方法:
String(String data) 把字符串数据封装成字符串对象
String(char[] data) 把字符数组的数据封装成字符串对象
String(char[] data, int index, int count) 把字符数组中的一部分数据封装成字符串对象
2.和长度有关的方法
返回类型 方法名 作用
int length() 得到一个字符串的字符个数(一个中文是一个字符,一个英文 是一个字符,一个转义字符是一个字符)3.和数组有关的方法
返回类型 方法名 作用
byte[] getBytes() 将一个字符串转换成字节数组
char[] toCharArray() 将一个字符串转换成字符数组
String[] split(String) 将一个字符串按照指定内容劈开4.和判断有关的方法
返回类型 方法名 作用
boolean equals(String) 判断两个字符串的内容是否一模一样
boolean equalsIgnoreCase(String) 忽略大小写的比较两个字符串的内容是否一模一样
boolean contains(String) 判断一个字符串里面是否包含指定的内容
boolean startsWith(String) 判断一个字符串是否以指定的内容开头
boolean endsWith(String) 判断一个字符串是否以指定的内容结尾5.和改变内容有关的方法
下列方法不会直接操作原本的字符串,而是将符合条件的字符串返回。
返回类型 方法名 作用
String toUpperCase() 将一个字符串全部转换成大写
String toLowerCase() 将一个字符串全部转换成小写
String replace(String,String) 将某个内容全部替换成指定内容
String replaceAll(String,String) 将某个内容全部替换成指定内容,支持正则
String repalceFirst(String,String) 将第一次出现的某个内容替换成指定的内容
String substring(int) 从指定下标开始一直截取到字符串的最后
String substring(int,int) 从下标x截取到下标y-1对应的元素
String trim() 去除一个字符串的前后空格6.和位置有关的方法
返回类型 方法名 作用
char charAt(int) 得到指定下标位置对应的字符
int indexOf(String) 得到指定内容第一次出现的下标
int lastIndexOf(String) 得到指定内容最后一次出现的下标————————————————
参考自CSDN博主「Jacky_Cmd」的原创文章
原文链接:https://blog.csdn.net/tomcmd/article/details/54881857