我似乎无法正确显示我的百分比。它总是在0.0
每次循环时显示。代码中的所有其他内容似乎都可以正常工作。
我可能已经错过了一些显而易见的事情,但是对于Java来说我还是有点菜鸟,所以对您的帮助将不胜感激。
package e2E3;
import java.util.Scanner;
public class Main {
public static void calculatePercentage(int studentMark, int maxMark){
double percentage;
percentage = studentMark / maxMark * 100;
System.out.println("%" + percentage);
}
public static void totalAndAverageMark(){
Scanner userInput = new Scanner(System.in);
int numberOfStudents = 0;
int maxMark = 0;
int totalMark = 0;
int studentCount = 0;
int studentMark = 0;
int average = 0;
System.out.println("how many Students Sat the Test?");
numberOfStudents = userInput.nextInt();
System.out.println("what is the Maximum score?");
maxMark = userInput.nextInt();
do {
System.out.println("enter students score..");
studentMark = userInput.nextInt();
calculatePercentage(studentMark, maxMark);
totalMark = totalMark + studentMark;
studentCount = studentCount + 1;
} while (studentCount != numberOfStudents);
average = totalMark / numberOfStudents;
System.out.println("The Average Grade of Students was.. " + average);
}
public static void main(String[] args) {
totalAndAverageMark();
}
}
您将整数相除,因此结果始终是整数值。您可以将studentMark声明为double,它将按预期工作。如果您不想这样做,可以将其转换为除法中的两倍(double) studentMark / maxMark * 100;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句