public class JavaHexStr { public static void main(String[] args) { Integer hex = 0xFFFFFF; String str = Integer.toHexString(hex).toUpperCase(); //String str = Integer.toHexString(16777215).toUpperCase(); char[] cArray = str.toCharArray(); for (char c : cArray) { System.out.println(c); } } } 你的问题描述的不清楚
先将16进制转换成10进制,再把10进制转成char
将16进制转换成10进制,再把10进制转成char import java.util.Scanner; public class Test { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str=sc.nextLine(); int a=Integer.parseInt(str, 16); char ch=(char)a; System.out.println(ch); }}
直接将int类型转成char会造成数据丢失吧 String str = "D"; int aa = Integer.valueOf(str, 16); String ss = String.valueOf(aa); char[] ch = ss.toCharArray(); for (char c : ch) System.out.print(c);
char只能表示16位最好是给出你的例子,才可以参考
public static void main(String[] args) {
Integer hex = 0xFFFFFF;
String str = Integer.toHexString(hex).toUpperCase();
//String str = Integer.toHexString(16777215).toUpperCase();
char[] cArray = str.toCharArray();
for (char c : cArray) {
System.out.println(c);
}
}
}
你的问题描述的不清楚
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
int a=Integer.parseInt(str, 16);
char ch=(char)a;
System.out.println(ch);
}}
int aa = Integer.valueOf(str, 16);
String ss = String.valueOf(aa);
char[] ch = ss.toCharArray();
for (char c : ch)
System.out.print(c);
但16进制的数字超过了char的最大值就会出现丢失精度的问题