Признать полукокс, как not_zero в Java

голоса
-1

Я создаю функцию, которая должна признать то, является ли натуральное число.

Это функция:

private BigInteger natural_number(Scanner input) throws APException {
        StringBuffer naturalNumStr = new StringBuffer();

        System.out.println(nextChar(input));
        System.out.println(not_zero(input));

        if (zero(input)) {
            naturalNumStr.append(0);
        }
        else if (not_zero(input)) {
            naturalNumStr.append(positive_number(input));
        }
        else { throw new APException(No natural_number.); }

        BigInteger naturalNumber = new BigInteger(naturalNumStr.toString());
        return naturalNumber;
    }

Метод not_zero является:

    private Boolean not_zero(Scanner input) {
        return input.hasNext([1-9]);
    }

Вход = равно 1,2,3,4} . Поэтому я ожидаю функция not_zero (вход) для возврата верно , потому что вход начинается с «1». Линия System.out.println(nextChar(input));возвращается 1 , но линия '' 'System.out.println (not_zero (вход));' '' возвращает ложь .

Я надеюсь, что кто-то может объяснить. Заранее спасибо!

Задан 09/10/2019 в 12:51
источник пользователем
На других языках...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more