通过功能验证年龄

时间:2019-05-14 01:51:37

标签: java

您好,我正在尝试验证来自Scanner的输入,并且我在Java中创建了以下函数,但是它不起作用,我应该怎么办?

import java.util.Scanner;

public class MyClass {

    private static Scanner sc = new Scanner(System.in);


    public static void main(String args[]) {

        int edad;

        System.out.println("Ingrese su edad:");
            edad= sc.nextInt();

            validarEdad(edad);

    }

    public static int validarEdad(int valor){
        while(valor<18 && valor >70){

            System.out.println("Intente de nuevo...");

            System.out.println("Ingrese su edad:");
            valor= sc.nextInt();

        }
        return valor;

    }


}

1 个答案:

答案 0 :(得分:1)

您在validarEdad()方法中的布尔语句有点错误。

代替while(valor<18 && valor>70)

我认为您的意思是while(valor<18 || valor>70)

这里的错误是&&(and)和||(or)运算符的布尔逻辑。 您不希望年龄小于18 并且 大于70。您希望年龄小于18 OR 大于70。

以下是关于运算符的进一步阅读:

希望这会有所帮助!