case 6:
已知:
- 0~9的十六进制表示和十进制一样
- 10~15的十六进制表示为A,B,C,D,E,F
需求:
- 提示用户输入0~15中的一个数,用程序将其转换为十六进制表示法的单个字符,并输出
限制:
- 用户只能输入0~15
思路
定义一个特殊场景,然后算出结果,最后普遍化
假设用户输入15,则应该显示为f
使用(char) 15并不能转换为F
应该为(char) 69
方法为:
当数值大于9时’A’ + (X - 10)
当数值小于9时"" + X即可
import java.util.Scanner;
public class Case6 {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
System.out.print("请输入一个0~15的整数:");
int x = kb.nextInt();
char result = (char) (x > 9 ? ('A'+(x - 10)):('0' + (x - 0)));
System.out.println(x + "的十六进制表示为:" + result);
}
}