import java.util.Scanner;
public class Decimal2HexConversion {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner input = new Scanner(System.in);
System.out.print("Enter a decimal number:");
int decimal = input.nextInt();
System.out.println("The hex number for decimal "+decimal +" is :"+decimalToHex(decimal));
input.close();
}
public static String decimalToHex(int decimal) {
String hex = ""; //hex 先赋值为一个空的字符串
while(decimal != 0) {
int hexValue = decimal % 16 ; //hexVaule是余数
hex = toHexChar(hexValue) + hex; //hex是转化成字符之后的再放在字符串hex后面
decimal = decimal /16; //将16进制数的位数减少一位
}
return hex;
}
public static char toHexChar(int hexValue) {
if (hexValue <= 9 && hexValue >=0)
return (char) (hexValue + '0');
else
return (char) (hexValue - 10 + 'A'); //这里记得要减10
}
}
主要就是中间的String hex县赋值为空后来算出来的一位一位的往后追加到字符串的末尾