Reconnaître char comme not_zero en java

voix
-1

Je crée une fonction qui devrait reconnaître si quelque chose est un nombre naturel.

Ceci est la fonction:

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

Le procédé not_zero est:

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

L' entrée = égal à 1,2,3,4} . Par conséquent , je me attends à la fonction not_zero (entrée) pour revenir vrai parce que l'entrée commence par « 1 ». La ligne System.out.println(nextChar(input));renvoie 1 , mais la ligne '' 'System.out.println (not_zero (entrée));' '' renvoie faux .

J'espère que quelqu'un peut expliquer. Merci d'avance!

Créé 09/10/2019 à 12:51
source utilisateur
Dans d'autres langues...                            

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