package 控制流程;
//需求:现在我们要处理任何整数如:2345,要将其转换为16进制表示法的字符串并输出
//已知:十进制123被转换为十六进制数7B。这个转换过程如下:将123除以16,余数为11(十六进制的B),商为7.继续讲7除以16,余数为7,商为0.因此,7B就是123的十六进制数
import java.util.Scanner;
public class Case16_十六进制转换成单个字符 {
//已知:
//0~9的十六进制表示和十进制一样
//10~15的十六进制表示为A、B、C、D、E、F
//需求:
//提示用户输入0~15中的一个数,用程序将其转换为十六进制表示法的单个字符并输出
//限制:
//用户只能输入0~15
public static void main(String[] args) {
//定一个特殊场景,然后算出结果
//需要将:15-->F (char)15? (char)69='F'
System.out.println("请输入一个十进制数,我们将把它变成十六进制形式");
Scanner in = new Scanner(System.in);
int number = in.nextInt(); //
//这些变量,每次循环都会改变他们,每次循环也要利用上次循环之后这些变量的值
//这样的变量就应该放在循环之外来声明
String hex = "";
int shang=number;
int yu;
while(shang != 0) {
yu = shang % 16; //余
shang = shang / 16; //商
//-----余数转char begin-----
char result;
if(yu > 9) {
result = (char) ('A' + (yu - 10));
}else {
result = (char) ('0' + (yu - 0));
}
//-----余数转char end-----
hex = result + hex; //hex:B
}
System.out.println("十六进制形式为:" + hex);
}
}
Java初学笔记——23. Case16_十六进制转换成单个字符
最新推荐文章于 2024-06-30 03:47:46 发布