gpt4 book ai didi

java - 计算类(class)平均分

转载 作者:行者123 更新时间:2023-12-01 10:56:29 25 4
gpt4 key购买 nike

现在我正在开发一个程序,该程序打印学生姓名、身份证号、考试成绩、平均分和成绩。由于某种原因,计算平均分数的方法存在问题。我尝试添加括号,但这也没有改变结果。这最终会弄乱成绩,因为成绩是用平均分计算的。任何帮助表示赞赏,谢谢!这是我的代码:

 import java.util.Scanner;

public class Student {
private String fname;
private String lname;
private int id;
private int score1;
private int score2;
private int score3;
private double average;
private String grade;

public void readInfo()
{
Scanner k = null;
k = new Scanner (System.in);

System.out.println ("Please enter the first name: (Enter John as first name and Doe as last name to stop) ");
fname = k.next();
System.out.println("Please enter the last name: ");
lname = k.next();
if (fname.equalsIgnoreCase("John")&&lname.equalsIgnoreCase("Doe"))
System.exit(0);
System.out.println("Please enter the student ID: ");
id = k.nextInt();
System.out.println("Please enter the first score: ");
score1 = k.nextInt();
System.out.println("Please enter the second score: ");
score2 = k.nextInt();
System.out.println("Please enter the third score: ");
score3 = k.nextInt();
}

//The problem lies in here:

private void computeAverage()
{
average = score1+score2+score3/3.0;

}
private void computeGrade()
{
if (average>=90&&average<=100)
grade = "A";
else if (average>=80&&average<=89.9)
grade = "B";
else if (average>=70&&average<=79.9)
grade = "C";
else if (average>=60&&average<=69.9)
grade = "D";
else
grade = "F";
}

private String getName()
{
return fname + " " + lname;
}
private double getAverage()
{
return average;
}
public void printAll()
{
System.out.printf("%-9s%-10s %-9s %-3s %-3s %-3s %-5s %-5s", "LastName","FirstName","ID","S1","S2","S3","AVG","GRADE");
System.out.println();
System.out.println("-----------------------------------------------------");
System.out.printf("%-9s%-9s %-9d %-3d %-3d %-3d %-3.2f%-2s",lname,fname,id,score1,score2,score3,average,grade);
System.out.println();
System.out.println("-----------------------------------------------------");

}

}

最佳答案

  • 我猜问题是因为,您在任何地方没有初始化变量average
  • 不过,您有一个方法computeAverage()。没有从程序中的任何地方调用它。也许,您也可以在外面的任何地方进行此操作。
  • 请添加括号,这肯定会产生正确的结果。

关于java - 计算类(class)平均分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33596381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com