gpt4 book ai didi

java - 十进制数转十六进制 - Java

转载 作者:行者123 更新时间:2023-11-30 05:27:00 24 4
gpt4 key购买 nike

我目前是一名学生,刚刚开始学习 Java。所以我对任何可怕的错误感到抱歉!我需要将用户输入的值(0-255)转换为十六进制数。规则是我只能使用 Scanner 的 length() 和 charAt(idx) 方法或 next?() 方法或我在代码中使用的方法。我也不允许使用 while、for 或数组。

你能帮我一下吗?我编写了代码,我知道它不会以这种方式工作,但我不确定该怎么做。谢谢!

import java.util.Scanner;
public class Hex {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Value?");
int vl = input.nextInt();

int r, n;

String hex = "0123456789ABCDEF";

r = vl % 16;
n = r / 16;

char ch1, ch2;

// Is there a way to use a sort of And-Or condition for two variables or do I need to use multiple ifs?

if (r,n < 9) {
r=ch1;
n=ch2;
}
if (r,n > 9) {
ch1 = hex.charAt(r);
ch2 = hex.charAt(n);
}

int nr1, nr2;
nr1 = ch2;
nr2 = ch1;

System.out.println("Hex = "+nr1 + "" + nr2);

}
}

最佳答案

您不需要所有这些语句,只需计算 %16/16

static void toHex(int vl) {
String hex = "0123456789ABCDEF";
int r = vl % 16;
int n = vl / 16;
char ch1 = hex.charAt(n);
char ch2 = hex.charAt(r);
System.out.print("Hex = " + ch1 + "" + ch2 + " ");
}
<小时/>

信息:

if (r<9 && n<9) {  AND
}

if (r<9 || n<9) { OR
}

关于java - 十进制数转十六进制 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58357265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com