Gjenkjenne røye som not_zero i java

stemmer
-1

Jeg oppretter en funksjon som bør anerkjenne om noe er et naturlig tall.

Dette er funksjonen:

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;
    }

Metoden not_zero er:

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

Den inndata = lik 1,2,3,4} . Derfor er jeg forventer funksjonen not_zero (input) for å gå tilbake sant fordi inngangs starter med '1'. Linjen System.out.println(nextChar(input));returnerer 1 , men linjen '' 'System.out.println (not_zero (input));' '' returnerer falsk .

Jeg håper noen kan forklare. Takk på forhånd!

Publisert på 09/10/2019 klokken 12:51
kilden bruker
På andre språk...                            

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