卷计算器执行中的错误

时间:2015-02-02 16:10:40

标签: java java.util.scanner volume

我从一个基本的包检查器开始,检查您的包详细信息并检查它是否与我创建的规则匹配。我在执行此程序中的音量计算时遇到了困难。基本上,我想要创建的是一个程序,它可以获取用户输入的包长度,宽度和高度,然后乘以这些并除以100得到以立方米为单位的体积。我不知道如何执行我的程序的计算部分。

这是我的代码:

public class PackageCheck {

    public static void main(String[] args) {

        double weight = 0;
        double length = 0;
        double width = 0;
        double height = 0; 

        System.out.println("||Please enter your package details||");
        java.util.Scanner input=new java.util.Scanner(System.in);
        System.out.println("Please enter your package weight in kg");
        weight=input.nextDouble();
        if (weight > 27) {
            System.out.println("Package is too heavy!");
        } else {
            System.out.println("Please enter your package length");
            length=input.nextDouble();
            System.out.println("Please enter your package width");
            width=input.nextDouble();
            System.out.println("Please enter your package height");
            height=input.nextDouble();
        }
        double volume = length * width * height  / 100;
        if (volume > 0.1 && weight < 27) {
            System.out.println("Package is too large!");
        }
        input.close(); //this ends the user input console    
    }
}

1 个答案:

答案 0 :(得分:0)

当他/她按下 Enter 键时,您必须读取用户输入的输入流中写入的字符。您可以使用Scanner#nextLine

执行此操作

以下是如何完成此操作的示例:

System.out.println("Please enter your package weight in kg");
weight=input.nextDouble();
input.nextLine(); //consumes the \n or \r\n

在阅读包含 Enter 键的每个用户输入后,您必须执行此操作。对于您的情况,似乎您必须在每input.nextDouble之后添加此行。