编写一个程序,提示用户输入0~15之间的一个整数,显示其对应的十六进制数。
输入格式:
输入一个0~15之间的整数。
输出格式:
若输入的整数在0~15范围内,则输出对应的十六进制数。否则输出“Invalid input”。
定义一个长度为16字符的数组,存储0 ~ 9和A ~ F,把输入值当下标取字符即可
public class Test {
public static void main(String []args) {
Scanner input = new Scanner(System.in);
char a[16] = "013456789ABCDEF";
int n = input.nextInt();
while(n>15 || n<0)
{
System.out.println("请重新输入0-15之间的整数");
n = input.nextInt();
}
System.out.println(a[n]);
}
题目代码如下
import java.util.Scanner;
public class Demo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个0~15之间的整数:");
int i = sc.nextInt();
String result = getResult(i); //调用方法获得结果
System.out.println(result);
}
private static String getResult(int a) {
if (a<=15&&a>=0) {
return Integer.toHexString(a).toUpperCase(); //将整数转为16进制并转为大写
}
return "Invalid input";
}
}