java - 方法中的局部变量未更新
问题描述
我在这种方法上遇到了麻烦,其中作为字符串的十六进制数输入了前面的“0x”并输出的是二进制等价物。例如“0x000A”应该返回“1010”。我在使用变量 ret 时遇到问题。我尝试在 forloop 中更新它,但是当我返回它时,它仍然具有默认值“”。如果我不在 return 语句中使用 ret,我会收到一条消息“未使用局部变量 binaryNumber 的值”。我想知道我是否可以得到一些澄清。非常感谢!
public static String hexToIntNBin(String hexInput) {
// array of binary digits that correspond to hexadecmial
String[] binaryArray = {"0000","0001","0010","0011",
"0100","0101","0110","0111",
"1000","1001","1010","1011",
"1100","1101","1110","1111"};
String binaryNumber = "";
// loops backward through the input string after preceeding 0x
// converts to binary
for(int i=2; i<hexInput.length(); i++) {
// Takes care of letter cases (10-16)
if(hexInput.substring(i,i+1) == "A") {
binaryNumber += binaryArray[10];
}
else if(hexInput.substring(i,i+1) == "B") {
binaryNumber += binaryArray[11];
}
else if(hexInput.substring(i,i+1) == "C") {
binaryNumber += binaryArray[12];
}
else if(hexInput.substring(i,i+1) == "D") {
binaryNumber += binaryArray[13];
}
else if(hexInput.substring(i,i+1) == "E") {
binaryNumber += binaryArray[14];
}
else if(hexInput.substring(i,i+1) == "F") {
binaryNumber += binaryArray[15];
}
}
return "Your number is ";
}
解决方案
推荐阅读
- prometheus - Prometheus 可以管理多少个标签值?
- swift - FileManager.fileExists(是文件或目录路径中的项目)对我不起作用
- javascript - 从包含方括号的数组中删除未定义
- autohotkey - AHK:在自动热键脚本中需要帮助
- python-3.x - 如何制作一个计算停止次数的功能
- php - Twitter API 没有响应整个推文 - twitter
- html - 需要多个“背景尺寸:封面;”?
- javascript - 运行javascript循环,异步结果
- javascript - 如何使开发工具上的 react redux 状态信息不可用?
- java - 问:导入 javax.annotation.Generated