我已经编程了近一年半的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,但无济于事。我使用了错误的数据类型吗?可以加倍不处理小数值吗?
我希望得到关于可能的语义错误的反馈,并为我在该领域缺乏经验而道歉。如果有更多信息可以提供,请告诉我。感谢所有答案。
答案 0 :(得分:0)
尝试在代码中替换此行:
Base