小编mok*_*oka的帖子

如何比较字符串中的一个字符与另一个字符串

可能重复:
如何比较Java中的字符串?

我是Java的新手并且练习我正在尝试创建十六进制到十进制数转换器,因为我已经成功地设法生成二进制到十进制转换器.

我遇到的问题基本上是将String中的给定字符与另一个字符串进行比较.这就是我如何定义要比较的当前字符:

String current = String.valueOf(hex.charAt(i));
Run Code Online (Sandbox Code Playgroud)

这是我尝试比较角色的方式:

else if (current == "b") 
   dec += 10 * (int)Math.pow(16, power);
Run Code Online (Sandbox Code Playgroud)

当我尝试通过仅输入数字(例如12)来运行代码时,它可以工作,但是当我尝试使用'b'时,我得到一个奇怪的错误.以下是运行程序的完整结果:

run:
Hello! Please enter a hexadecimal number.
2b
For input string: "b" // this is the weird error I don't understand
BUILD SUCCESSFUL (total time: 1 second)
Run Code Online (Sandbox Code Playgroud)

以下是仅使用数字转换成功运行程序的示例:

run:
Hello! Please enter a hexadecimal number.
22
22 in decimal: 34 // works fine
BUILD SUCCESSFUL (total time: 3 seconds)
Run Code Online (Sandbox Code Playgroud)

任何有关这方面的帮助将不胜感激,谢谢.

编辑:我认为如果我把整个方法放在这里会很有用.

编辑2:已解决!我不知道我应该接受谁的回答,因为他们都非常善良和乐于助人.如此矛盾.

for (int i = hex.length() …
Run Code Online (Sandbox Code Playgroud)

java string hex decimal

2
推荐指数
1
解决办法
7万
查看次数

标签 统计

decimal ×1

hex ×1

java ×1

string ×1