gpt4 book ai didi

java - 如果输入小写字母,我的十六进制到二进制转换器将为空

转载 作者:行者123 更新时间:2023-12-02 05:25:12 24 4
gpt4 key购买 nike

我是java新手(不是全新的)所以我有一个可以将十六进制转换为二进制的程序所以输出应该是这样的:

如果用户输入:200F:“输出应该是这样的:”2-00100-00000-0000F-1111

但问题是如果用户输入小写字母,它会显示 null查看我的代码:

import java.util.*;
import java.io.*;

class Ideone
{
public static void main(String[] args) throws IOException {
BufferedReader input = new BufferedReader(new InputStreamReader(
System.in));
HashMap<Character, String> map = new HashMap<Character, String>();
map.put('0', "0000");
map.put('1', "0001");
map.put('2', "0010");
map.put('3', "0011");
map.put('4', "0100");
map.put('5', "0101");
map.put('6', "0110");
map.put('7', "0111");
map.put('8', "1000");
map.put('9', "1001");
map.put('A', "1010");
map.put('B', "1011");
map.put('C', "1100");
map.put('D', "1101");
map.put('F', "1111");
System.out.print("Input your Hex Number here : ");
String userInput = input.readLine();
String resultx = "";

for (int i = 0; i < userInput.length(); i++) {
/* used for separating the value */
char hexVal = userInput.charAt(i);
String binary = map.get(hexVal);
resultx=resultx +"\n" + hexVal + "-" + binary;

}

//Main output
System.out.println("The Binary of " + userInput + ":" + "\n" + resultx);


}
}

我想我也可以创建一个包含小写字母的 HashMap ,但我认为如果我这样做的话我的代码会变得很难看..

那么你能帮我如何忽略代码中的大小写吗?

我还创建了另一个程序,我使用了数组,但有人告诉我它的结构很丑陋,而且效率不高且不准确。他们还说我处于一个复杂的程序中,所以他们给了我一个使用 hashmap 的想法,内置转换器。但 HashMap 看起来不错..

查看我的其他代码:并告诉我两者中哪一个更好,因为当我运行这个程序时,它运行良好并且没有问题。所以只需检查一下:

my code

谢谢。我希望你能解决我的问题..

最佳答案

在处理之前将用户输入字符串转换为大写。

System.out.print("Input your Hex Number here : ");
String userInput = input.readLine();
userInput = userInput.toUpperCase();

关于java - 如果输入小写字母,我的十六进制到二进制转换器将为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122266/

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