У меня есть некоторые строки кода, которые проверяют скобки в строке.Специальный символ Java в условном
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 работал отлично, но когда я шагаю через отладчик, условные для скобок обязательно каждый раз. Нельзя ли использовать условное выражение?
Почему вы не являетесь регулярным выражением для этого http://stackoverflow.com/questions/5034580/comparing-chars-in-java –