Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.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_Double_Percentage - Fatal编程技术网

Java 为什么我的答案显示为无穷大?

Java 为什么我的答案显示为无穷大?,java,double,percentage,Java,Double,Percentage,我对这有点陌生,所以请容忍我 我正在创建一个程序,允许用户输入一个课程作业的分数和考试分数,然后计算总成绩。输入的值必须介于1和10之间。课程占40%,考试占60%。值1-10必须转换成百分比,这就是我认为无穷大误差发生的地方 这是我的代码(代码后面会有'if'和'else'语句,但我认为我可以接受。同时忽略底部的最终分类): CourseworkPerc和ExamPerc似乎是问题所在。我希望能够显示小数点后2位的百分比。例如,课程作业中10分之5(价值40%)=20.00%,考试中10分之5

我对这有点陌生,所以请容忍我

我正在创建一个程序,允许用户输入一个课程作业的分数和考试分数,然后计算总成绩。输入的值必须介于1和10之间。课程占40%,考试占60%。值1-10必须转换成百分比,这就是我认为无穷大误差发生的地方

这是我的代码(代码后面会有'if'和'else'语句,但我认为我可以接受。同时忽略底部的最终分类):

CourseworkPerc
ExamPerc
似乎是问题所在。我希望能够显示小数点后2位的百分比。例如,课程作业中10分之5(价值40%)=20.00%,考试中10分之5(价值60%)=30.00%,因此总成绩为50.00%


希望这是有道理的。感谢您的建议。谢谢

这是由于这行的整数除法:

ExamPerc = (ExamDoub / (10 / 60));
10
60
都是整数,因此
(10/60)
会得到整数答案--
0

如果其中一个是双字面值,例如
10.0
(或等效为
10d
(double)10
),则会得到双结果--
0.166666

示例修复程序:

ExamPerc = (ExamDoub / (10.0 / 60));

旁注:
ExamDoub/(10/60)=ExamDoub/(1/6)=ExamDoub*6
。不要做不必要的数学。正确。但我想补充一点:
ExamDoub/(10/60)=ExamDoub/(1/6)=ExamDoub*6
。这个部门没有必要。谢谢,它起作用了。:)简单到我看不见的东西。如何使其显示为小数点后两位的百分比?它只显示为小数点后1位。
ExamPerc = (ExamDoub / (10.0 / 60));