Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法缩短这个Java代码?_Java - Fatal编程技术网

有没有办法缩短这个Java代码?

有没有办法缩短这个Java代码?,java,Java,有没有办法在一段时间内验证身高和体重? 有没有办法测试 input.hasNextDouble()和height>5&&height 5&&height 0&&weight将公共代码定义为单个函数,并使用三元运算符内联if条件 public static double takeInput(String heightOrWeight, int lowConstraint, int highConstraint) { Scanner input = new Scanner(S

有没有办法在一段时间内验证身高和体重? 有没有办法测试

input.hasNextDouble()和height>5&&height 5&&height 0&&weight将公共代码定义为单个函数,并使用三元运算符内联if条件

    public static double takeInput(String heightOrWeight, int lowConstraint, int highConstraint) {
        Scanner input = new Scanner(System.in);
        double validDouble = 0;
        boolean isValid = false;
        
        while(!(isValid)){
            System.out.print(heightOrWeight + ": ");
            input.nextLine();

            validDouble = input.hasNextDouble() ? input.nextDouble(): Integer.MIN_VALUE;
            
            if (validDouble > lowConstraint && validDouble <= highConstraint) {
                isValid = true;
            }
         
            if (!isValid) {
                 System.out.println("Invalid input\nPlease try again\n");
            }
        }
        return validDouble;
    }


好的,显而易见的想法是将公共代码重构成一个可以共享的方法。这样的代码产生的一个好处是,您可以给出有用的错误消息。例如,“无效高度:必须介于5和500之间。”validDouble=input.hasNextDouble()是什么意思?input.nextDouble():-1;意思是?它是一个三元运算符<代码>变量x=(表达式)?如果值为真:如果值为假
而不是-1,则可以将任何Integer.MIN_值或其他不在范围内的数字放入
        double height = takeInput("Height(cm)", 5,500);
        double weight = takeInput("Weight(kg)", 0,500);