我想创建一个程序,可以输入数字和等级,并且计算机只会计算通过的平均值,但是如果分子或者是否为零,会发生什么?我该如何解决这个问题?计算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