Я пытаюсь создать программу, которая изображает лексический анализ в JAVA. Я могу определить токен и установить все, но у меня есть проблема с чтением всей строки, введенной во время цикла. Я хочу, чтобы строка проходила каждый шаг, но я не могу их достичь. Если я попытаюсь сделать это, не делаю, очевидно, что это не дает точного результата. Как читать строку до конца в то время?Невозможно прочитать строку до конца в JAVA
do {
if (string.contains("+")) {
lex_air[0]++;
} else if (string.contains("-")) {
lex_air[1]++;
} else if (string.contains("*")) {
lex_air[2]++;
} else if (string.contains("/")) {
lex_air[3]++;
}
if (string.contains(">")) {
lex_log[0]++;
} else if (string.contains("<")) {
lex_log[1]++;
} else if (string.contains("=")) {
lex_log[2]++;
} else if (string.contains(">=")) {
lex_log[3]++;
} else if (string.contains("<=")) {
lex_log[4]++;
}
if (string.contains("for")) {
lex_reserve[0]++;
} else if (string.contains("int")) {
lex_reserve[1]++;
} else if (string.contains("while")) {
lex_reserve[2]++;
} else if (string.contains("char")) {
lex_reserve[3]++;
} else {
lex_alpha++;
}
} while (string.endsWith(""));
заканчивается чем? –
a Строка * всегда * заканчивается символом '' ''; условие в цикле while просто «истинно». –
Откуда вы знаете, что не читаете до конца строки? Не похоже, что вы когда-либо рассматриваете позицию, в которой появляется токен. –