Java 如何计算数组中值的平均等级?

Java 如何计算数组中值的平均等级?,java,Java,请帮帮我。我一直在不停地做这个,但我仍然不能让它按我想要的方式运行。我是编程新手。我不太擅长使用方法。我这里有一个我的工作样本,我的问题是如何得到平均成绩,如何在控制台上打印出来。当我运行此代码时,变量grade中的最后一个值是控制台上显示的唯一值。我还需要检查出勤情况……我该怎么做? 我期末考试需要这个密码 学生监控 导入java.util.*; 公共班级学生监控{ public static void main(String[] args) { Scanner in=new Scanner(

请帮帮我。我一直在不停地做这个,但我仍然不能让它按我想要的方式运行。我是编程新手。我不太擅长使用方法。我这里有一个我的工作样本,我的问题是如何得到平均成绩,如何在控制台上打印出来。当我运行此代码时,变量grade中的最后一个值是控制台上显示的唯一值。我还需要检查出勤情况……我该怎么做? 我期末考试需要这个密码

学生监控

导入java.util.*; 公共班级学生监控{

public static void main(String[] args) {
Scanner in=new Scanner(System.in);

 Date date=new Date();
  int[]  attend1={},attend2,attend3,grade={};
 String line="-------------------------------------------------------------------";
String[] idNum1={},idNum2={},gender={}, name1={},name2={},name3={},name4={},address={},sub={};
扫描仪输入=新扫描仪(System.in); int-check=0,num=0

System.out.println(line);
System.out.println("\t\t****STUDENT MONITORING****");
System.out.println(line);

  System.out.println("\nGood day teacher, to start using this program input the following information first.\n");
    System.out.println(line);
    System.out.print("NAME OF SCHOOL: ");
    String sName=in.nextLine();
    System.out.print("ADDRESS OF SCHOOL: ");
    String sAdd=in.nextLine();
    System.out.print("SCHOOL IDENTIFICATION NUMBER: ");
    String sId=in.nextLine();
    System.out.println(line);

    System.out.println("STUDENTS INFORMATION");
    System.out.println("Enter the year and section of this class");
    String yearSec=in.nextLine();
    System.out.println("How many student information do you want to input? ");
    int numberStudents=in.nextInt();


     idNum1=new String[numberStudents];
     name1=new String[numberStudents];
     name2=new String[numberStudents];
     name3=new String[numberStudents];
     name4=new String[numberStudents];
     attend1=new int[200];
     attend2=new int[200];
     attend3=new int[200];
     address=new String[numberStudents];
     grade=new int[100];
     gender=new String[numberStudents];
      idNum2=new String[numberStudents];


    System.out.println("Enter the number of subjects you have: "); 
   int numSub=in.nextInt();

   sub=new String[numSub];
   in.nextLine();

   for(int x=0;x<numSub;x++)  {
    System.out.print("Subjec #"+(x+1)+": ");
   sub[x]=in.nextLine();
   }  
    for(int x=0;x<numberStudents;x++)  {
        in.nextLine();
        System.out.println(line);
        System.out.println("Student #"+(x+1));
        System.out.print("LAST NAME: ");
        name1[x]=in.nextLine(); 
        System.out.print("FIRST NAME: ");
        name2[x]=in.nextLine();
        System.out.print("MIDDLE INITIAL: ");
        name3[x]=in.nextLine(); 

        System.out.print("GENDER: ");
        gender[x]=in.nextLine();

        System.out.print("ADDRESS: ");
        address[x]=in.nextLine();

        System.out.print("ID NUMBER: ");
        idNum1[x]=in.nextLine();


        System.out.println(line);
        System.out.println("Enter the grades here.");
        System.out.println(line);
         for (int a=0;a<numSub;a++)  {
          System.out.print(sub[a]+": "); 
         grade[a]=in.nextInt();
         }
        }



    System.out.println("This is the list of the students info you've inputted.");
        System.out.println("ID Number\t    Name\t\t   GENDER\t\t    ADDRESS");


        for(int x=0;x<numberStudents;x++)  {

        System.out.println(idNum1[x]+"\t\t"+name1[x]+" "+name2[x]+","+name3[x]+".\t\t"+gender[x]+"\t\t"+address[x]);
        }

     System.out.println("Subject\t\tGrades");
     for(int x=0;x<numSub;x++)  {
         System.out.println(sub[x]+"\t\t"+grade[x]);
     }
     System.out.println(line);

     System.out.println();
}
System.out.println(行);
System.out.println(“\t\t****学生监控****”);
系统输出打印项次(行);
System.out.println(“\n好老师,要开始使用此程序,请先输入以下信息。\n”);
系统输出打印项次(行);
系统输出打印(“学校名称:”);
字符串sName=in.nextLine();
系统输出打印(“学校地址:”);
字符串sAdd=in.nextLine();
系统输出打印(“学校标识号:”);
字符串sId=in.nextLine();
系统输出打印项次(行);
System.out.println(“学生信息”);
System.out.println(“输入该类的年份和部分”);
字符串yearSec=in.nextLine();
System.out.println(“您想输入多少学生信息?”);
int numberStudents=in.nextInt();
idNum1=新字符串[numberStudents];
name1=新字符串[numberStudents];
name2=新字符串[numberStudents];
name3=新字符串[numberStudents];
name4=新字符串[numberStudents];
attend1=新整数[200];
attend2=新整数[200];
attend3=新整数[200];
地址=新字符串[numberStudents];
等级=新整数[100];
性别=新字符串[数字学生];
idNum2=新字符串[numberStudents];
System.out.println(“输入您的主题数量:”);
int numSub=in.nextInt();
sub=新字符串[numSub];
in.nextLine();
对于(int x=0;x,以下是一个示例:

double[] values = { 2.2, 3.6, 6.3, 3.6, 2.8, 8.5, 8.3, 8.3, 1.2, 10, 2.2, 5.6 };
double sum = 0;
for (int i = 0; i < values.length; i++)
    sum += values[i];
System.out.println("Average: " + sum / values.length);
double[]值={2.2,3.6,6.3,3.6,2.8,8.5,8.3,8.3,1.2,10,2.2,5.6};
双和=0;
对于(int i=0;i
这回答了你最初的问题

但是,如果在填充阵列时也遇到问题,则可以执行以下操作:

int MAX = 3;
double[] values = new double[MAX];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < MAX; i++) {
    System.out.print("Type the grade: ");
    values[i] = scanner.nextDouble();
}
scanner.close();
int MAX=3;
double[]值=新的double[MAX];
扫描仪=新的扫描仪(System.in);
对于(int i=0;i
公共静态void main(字符串[]args){
System.out.println(“输入您想要的学生人数:”);
扫描仪=新的扫描仪(System.in);
int numOfStudents=scanner.nextInt();
双[]年级=新双[学生];
双倍合计=0;
双电流等级=0;

对于(int i=0;它的并行数组设计不好。请帮我做一个更好的。如果你已经开始OOP,你应该把它设计成一个学生对象数组,而不是为每个属性创建一个单独的数组。我仍然在程序中…这是我学习java的第一个学期。OOP将从下学期开始。请帮助我e改进我的代码。我只能使用过程性的…我不能向我的老师演示OOP。我使用了一个数组变量来存储不同学生的成绩…这不是正确的做法吗?当然。你可以使用变量数组。这没有问题。我只是举个例子。但是你完全可以声明一个空数组,然后添加values.我仍然不知道该怎么做…我非常渴望在期末考试中使用这段代码…还有6天的时间…你在填充数组方面有问题吗?如果有,请按照@Brunaldo所说的使用scanner。我在组合结构方面有问题。我如何使用数组变量做到这一点?我在我的代码上尝试了这一点,但问题是我必须计算迟交多个学生的成绩,当我运行程序时,由于scanner.close();,程序停止,当我取出它时,第一个学生的成绩与下一个学生的成绩相加。我该怎么办?
public static void main(String[] args) {
    System.out.println("Enter the number of students you want: ");
    Scanner scanner = new Scanner(System.in);

    int numOfStudents = scanner.nextInt();

    double[] grades = new double[numOfStudents];

    double total = 0;
    double currentGrade = 0;

    for(int i=0; i<grades.length; i++) {
        System.out.println("Grade achieved: ");
        currentGrade = scanner.nextDouble();
        grades[i] = currentGrade;
        total += currentGrade;
    }

    scanner.close();
    System.out.println(Arrays.toString(grades));
    System.out.println("Average grade " + (total / numOfStudents));
}