我想創建一個程序,可以輸入數字和等級,並且計算機只會計算通過的平均值,但是如果分子或者是否爲零,會發生什麼?我該如何解決這個問題?計算Java等級的平均值
public class Grades {
public static void main (String[] args) {
double grade1, grade2, grade3, avg, sum=0;
int counter = 0;
Scanner input = new Scanner(System.in);
System.out.println("Enter your first Grade");
grade1 = input.nextDouble();
if (grade1 >= 90)
{
System.out.println("excellent");
counter++;
sum += grade1;
}
else if (grade1 < 90 && grade1 >= 70)
{
System.out.println("very good");
counter++;
sum += grade1;
}
else if (grade1 < 70 && grade1 >= 60)
{
System.out.println("fair");
counter++;
sum += grade1;
}
else if (grade1 < 60)
{
System.out.println("you fail");
}
System.out.println("Enter your second Grade");
grade2 = input.nextDouble();
if (grade2 >= 90)
{
System.out.println("excellent");
counter++;
sum += grade2;
}
else if (grade2 < 90 && grade2 >= 70)
{
System.out.println("very good");
counter++;
sum += grade2;
}
else if (grade2 < 70 && grade2 >= 60)
{
System.out.println("fair");
counter++;
sum += grade2;
}
else if (grade2 < 60)
System.out.println("you fail");
System.out.println("Enter your third Grade");
grade3 = input.nextDouble();
if (grade3 >= 90)
{
System.out.println("excellent");
counter++;
sum += grade3;
}
else if (grade3 < 90 && grade3 >= 70)
{
System.out.println("very good");
counter++;
sum += grade3;
}
else if (grade3 < 70 && grade3 >= 60)
{
System.out.println("fair");
counter++;
sum += grade3;
}
else if (grade3 < 60)
System.out.println("you fail");
avg=sum/counter;
System.out.println("your average is : "+avg);
}
}
這是一個很大的代碼...問題是什麼? – Mureinik 2014-10-11 12:43:32
「但是如果分子或者dinounator是零將會發生什麼事情」 - 由您決定將會發生什麼。 – Eran 2014-10-11 12:43:59
在劃分之前檢查分子/分母。這取決於你在找到零除數時會發生什麼。我會假設你只給1個分數加1,並且每個分數都會平均下來...... – Mike 2014-10-11 12:47:40