Java 带扫描器的班级平均数

Java 带扫描器的班级平均数,java,methods,average,Java,Methods,Average,我对以下代码有问题。我需要应用程序向用户询问学生人数,然后询问每个年级。有了这个,我必须找到平均值。到目前为止,这是我的代码,我不知道如何修复它 谢谢 import java.util.Scanner; public class Assignment6 { public static int students; public static int grade; public static int avg; public static int obtai

我对以下代码有问题。我需要应用程序向用户询问学生人数,然后询问每个年级。有了这个,我必须找到平均值。到目前为止,这是我的代码,我不知道如何修复它

谢谢

    import java.util.Scanner;

public class Assignment6 
{
    public static int students;
    public static int grade;
    public static int avg;
    public static int obtainStudents(){
        Scanner input = new Scanner(System.in);
        System.out.println("How many students");
        students = input.nextInt();
        return students;
        }

    public static double obtainGrade(int students){
        Scanner input = new Scanner(System.in);

            System.out.println("Enter Grade");
            grade = input.nextInt();
            grade+=grade;

        return grade;
    }
    public static double calculateClassAverage(){
        for(int i = 0; i<students; ++i){
            obtainGrade(students);
            System.out.println();
        }
        System.out.println();
        avg = grade / students;
    return avg;
    }


public static void main (String [] Args){
    obtainStudents();
    calculateClassAverage();
    System.out.println(avg);

}

}
import java.util.Scanner;
公共课堂作业6
{
公立学校学生;
公共静态int等级;
公共静态平均值;
公共静态int获取学生(){
扫描仪输入=新扫描仪(System.in);
System.out.println(“多少学生”);
students=input.nextInt();
留学生;
}
公共静态双年级(国际学生){
扫描仪输入=新扫描仪(System.in);
系统输出打印项次(“输入等级”);
grade=input.nextInt();
年级+=年级;
返回等级;
}
公共静态双计算平均值(){

对于(int i=0;i
grade=input.nextInt()
替换累计总数。
grade+=grade
然后将值加倍

结果:
等级
始终等于上次输入的等级值的两倍。

avg=grade/students
则意味着
avg=2*lastGrade/studentCount

你的问题在于将所有的成绩相加以得出平均值

public static double obtainGrade(int students){
    Scanner input = new Scanner(System.in);

        System.out.println("Enter Grade");
        //sets grade to input wiping all previous inputs
        grade = input.nextInt();
        //adds grade to itself again
        grade+=grade;

    return grade;
}
你应该这样做

public static int totalGrade

public static double obtainGrade(int students){
    Scanner input = new Scanner(System.in);

        System.out.println("Enter Grade");
        grade = input.nextInt();
        totalGrade+=grade;

    return grade;
}

avg = totalGrade/students;

非常好。谢谢!现在的行为是什么?