Как проверить строку, чтобы увидеть, содержит ли она 8 или 9 в Java

У меня есть проект для школы, где я должен проверить восьмеричное число и отклонить его, если оно не восьмеричное, и я понятия не имею, как выполнить цикл для этого. Я новичок

    Scanner in = new Scanner(System.in);
    String octalNum;

    System.out.print("Please enter a postive octal number: ");
    octalNum = in.next();
    for (int i = 0; i < octalNum.length(); i++) {
        if (octalNum.charAt(i) == 8 || octalNum.charAt(i) == 9) {
            System.out.print("Please enter a postive octal number: ");
            octalNum = in.next();
        }
    }

1 ответ

Решение

Ваш код почти правильный. Просто имейте в виду, что String.charAt() возвращает char не int, Из-за этого вы должны проверить 'number' вместо. Таким образом, 8 становится "8", а 9 становится "9".

Другие вопросы по тегам