Double 数据类型显示值 0.0

Data type Double is displaying value 0.0

我编写 JavaScript 已经将近一年半了,最近开始学习 Java 语法。在尝试重新创建我在 JavaScript 中编写的简单程序时,我在使用 Double 数据类型时 运行 遇到了麻烦。这是我的代码:


Scanner input = new Scanner (System.in);
int questionsTotal;
int questionsCorrect;
double grade;
System.out.println("How many questions were there in total?");
questionsTotal = input.nextInt();
System.out.println("How many questions did you get correct?");
questionsCorrect = input.nextInt();
grade = questionsCorrect / questionsTotal * 100;
System.out.println("Your grade is: " + grade);

它不在此片段中,但 java.util.Scanner 已导入。 当用户输入 questionsTotal 和 questionsCorrect 的值时,它们处理得很好。但是,等级变量没有按计划运行。打印时,它显示 0.0 或 1.00 的值,即使输入应该是十进制值。我试过使用 printf 而不是 println,但无济于事。我使用了错误的数据类型吗?双打不能处理十进制值吗?

对于可能存在的语义错误,我将不胜感激,并为我在该领域缺乏经验而道歉。如果可以提供更多信息,请告诉我。感谢所有答案。

尝试替换代码中的这一行:

grade = ((double)questionsCorrect) / questionsTotal * 100;