gpt4 book ai didi

Java条件检查中的特殊字符

转载 作者:行者123 更新时间:2023-12-01 13:45:13 24 4
gpt4 key购买 nike

我有一些代码行用于检查字符串中的括号。

while (index <= command.length()-1 && done == false) {
if (command.charAt(index) == 123) { // ASCII value for open bracket
braces++;
token = token + command.charAt(index);
index++;
} else if (command.charAt(index) == 125) {
braces--;
token = token + command.charAt(index);
index++;
} else if (braces > 0) {
if (command.charAt(index) > 47 && command.charAt(index) < 58 || command.charAt(index) > 64 && command.charAt(index) < 123) {
token = token + command.charAt(index);
index++;
} else
index++;
} else if (braces == 0) {
if (command.charAt(index) > 47 && command.charAt(index) < 58) {
token = token + command.charAt(index);
index++;
if (command.charAt(index) == 123)
done = true;
} else {
index++;
done = true;
}
}
}
}

我遇到的问题是这一行:if (command.charAt(index) == 123)

使用 ASCII 值检查 a-Z 和 0-9 效果非常好,但是当我单步执行调试器时,括号的条件每次都会失败。

这样使用条件检查违法吗?

最佳答案

只需使用 char 原语:

if (command.charAt(index) == '['){ //Note the single quotes; double quotes won't work

生成更清晰的代码并且始终有效。

关于Java条件检查中的特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20413076/

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