Recunoașteți char ca not_zero în Java

voturi
-1

Creez o funcție care ar trebui să recunoască dacă ceva este un număr natural.

Aceasta este funcția:

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 Metoda este:

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

Intrare = egal 1,2,3,4} . De aceea , mă aștept ca not_zero funcția (intrare) pentru a reveni adevărat , deoarece intrarea începe cu „1“. Linia System.out.println(nextChar(input));returnează 1 , dar linia '' 'System.out.println (not_zero (input));' '' returneaza false .

Sper ca cineva poate explica. Mulțumesc anticipat!

Întrebat 09/10/2019 la 12:51
sursa de către utilizator
În alte limbi...                            

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