以下是程序必须遵循的步骤:
到目前为止,我的代码是:
public static void main(String[] args)
{
int digit = 0;
Scanner scan = new Scanner(System.in);
System.out.println("Please enter a four digit pin:");
digit = scan.nextInt(); // scanning for user input
String Hexpin =Integer.toHexString(digit);
System.out.println(Hexpin);
}目前,我需要帮助将引脚转换为十六进制,并生成两个大于1000的随机数,并将它们转换为十六进制。不过,我可以轻松地做三明治。在此之前,我试着寻找答案,除了:
C# convert integer to hex and back again
但是,本文将int转换为十六进制字符串,而不是十进制字符串。
发布于 2017-11-14 11:40:28
试试看,我想这是你想要的。只是需要一个小的解决办法。希望这能帮上忙!
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.println("Please enter a four digit pin:");
int digit = scan.nextInt(); // scanning for user input as INT
String hexDigit = Integer.toHexString(digit); //convert PIN to hex
int one = ((int)(Math.random()+1000)*10000); //two randoms bw 1000 and 10000
int two = ((int)(Math.random()+1000)*10000);
String oneStr = Integer.toHexString(one); //convert to hex
String twoStr = Integer.toHexString(two); //convert to hex
System.out.println(oneStr + hexDigit + twoStr); //print concated
}发布于 2017-11-14 11:33:05
使用Integer.valueOf(String.valueOf(digit), 16)进行转换。如果您更改了digit并使其成为String,则不需要执行String.valueOf(...)
结果:
In: 1234
Out(hex): 4660发布于 2017-11-14 11:33:35
转换为十六进制用途:
String Hexpin = Integer.toHexString(digit);若要将其转换为整数用途,请执行以下操作:
int numberFromHex = Integer.parseInt(Hexpin, 16);在您的代码注释中,要清楚什么是不寻常的结果。
https://stackoverflow.com/questions/47284441
复制相似问题