您好,我正在尝试验证来自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;
}
}
答案 0 :(得分:1)
您在validarEdad()
方法中的布尔语句有点错误。
代替while(valor<18 && valor>70)
,
我认为您的意思是while(valor<18 || valor>70)
。
这里的错误是&&
(and)和||
(or)运算符的布尔逻辑。
您不希望年龄小于18 并且 大于70。您希望年龄小于18 OR 大于70。
以下是关于运算符的进一步阅读:
希望这会有所帮助!