Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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 在if/else语句中输入十进制值时出现奇怪的“错误”_Java - Fatal编程技术网

Java 在if/else语句中输入十进制值时出现奇怪的“错误”

Java 在if/else语句中输入十进制值时出现奇怪的“错误”,java,Java,我正在使用Netbeans。编程新手,今天刚开始使用java,有一个问题 System.out.println("Type a number: "); double numberOne = Integer.parseInt(reader.nextLine()); if (numberOne > 0) { System.out.println("The number " + numberOne + " is positive."

我正在使用Netbeans。编程新手,今天刚开始使用java,有一个问题

System.out.println("Type a number: ");
    double numberOne = Integer.parseInt(reader.nextLine());
            if (numberOne > 0) {
                System.out.println("The number " + numberOne + " is positive.");
            } else {
                System.out.println("The number " + numberOne + " isn't positive.");
            }
输入正数或负数的整数将显示正确的消息。但是,如果我输入.25或7.29之类的内容,则将显示此内容,并且两条消息都不会显示:

Type a number: 
7.29
Exception in thread "main" java.lang.NumberFormatException: For input string: "7.29"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at PositiveValue.main(PositiveValue.java:9)
Java Result: 1
BUILD SUCCESSFUL (total time: 3 seconds)
我该怎么做才能使它适用于小数和分数呢?

您有一个双变量,并且正在设置一个int。您必须使用函数,如下所示:

double numberOne = Double.parseDouble(reader.nextLine());
我希望它会对你有帮助

使用

new Double(1.25)
而不是

new Integer(1.25)
以避免此类错误。整数只能是整数,而双精度值可以是小数

就你而言

Double d = Double.parseDouble(reader.nextLine());
应该为您提供所需的值。

如果读卡器是Scanner类型,则使用将值读取为double,并将其存储在double变量中

在此之后,读取该行以使用换行符:

double numberOne = reader.nextDouble();
reader.nextLine();
关于你的另一个问题:

我能做些什么使它与…一起工作。。。分数


您应该创建一个适当的类来存储分子和分母(int或long类型),这取决于您的设计。

感谢您的帮助,当人们说java中有很多方法可以做一件事时,他们开始越来越多地意识到这一点。