java一维数组求组

java一维数组用来存储3名学生的语文,数学,外语,物理和化学成绩,要求循环输入这3名学生的5门课的成绩,分别输出这3名学生所有课程的总分,然后分别输出各门课程的平均分。

认真帮助博友编写了一番,代码如下:

package cn.bdqn.demo08;

import java.util.Scanner;

public class BankTest {

    public static void main(String[] args) {
        //java一维数组用来存储3名学生的语文,数学,外语,物理和化学成绩,
        //要求循环输入这3名学生的5门课的成绩,分别输出这3名学生所有课程的总分,然后分别输出各门课程的平均分。
        Scanner in = new Scanner(System.in);
        int[] scores1=new int[3];
        int[] scores2=new int[3];
        int[] scores3=new int[3];
        int[] scores4=new int[3];
        int[] scores5=new int[3];
        
        //定义各门课的总分变量
        int sum1=0,sum2=0,sum3=0,sum4=0,sum5=0;
        
        
        String[] students=new String[3];
        
        for (int i = 0; i < students.length; i++) {
            System.out.println("请输入第"+(i+1)+"位同学的五门课成绩:");
            
            System.out.println("语文:");
            scores1[i]=in.nextInt();
            sum1+=scores1[i];
            
            System.out.println("数学:");
            scores2[i]=in.nextInt();
            sum2+=scores2[i];
            
            System.out.println("外语:");
            scores3[i]=in.nextInt();
            sum3+=scores3[i];
            
            System.out.println("物理:");
            scores4[i]=in.nextInt();
            sum4+=scores4[i];
            
            System.out.println("化学:");
            scores5[i]=in.nextInt();
            sum5+=scores5[i];
            
            System.out.println("第"+(i+1)+"位同学的五门课总分为:"+(scores1[i]+scores2[i]+scores3[i]+scores4[i]+scores5[i]));
        }
        
        System.out.println("语文的平均分为:"+(sum1/3));
        System.out.println("数学的平均分为:"+(sum2/3));
        System.out.println("外语的平均分为:"+(sum3/3));
        System.out.println("物理的平均分为:"+(sum4/3));
        System.out.println("化学的平均分为:"+(sum5/3));
    }

}


效果如下:

img

这个题,可以创建数组,存这几科目的成绩,再通过循环对这些成绩进行输入
之后自定义一个求和函数add,借助循环进行所有课程的求和,将求和得到的结果输出。
最后再定义一个平均分函数average,循环除以科目数,每循环依次输出一个人的各门课程的平均分。

不知道是不是理解正确了题目意思,我是用一维数组存储了3个学生的五门成绩,然后通过循环来计算其总分和每门学科的平均分,代码如下:

import java.util.Scanner;

public class ScoreTest {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        
        double score[] = new double[15];//存储3名学生的五科成绩的一维数组
        double sum []= new double [3];    //存放3名学生的总分
        double avg []= new double [5];    //存放5科成绩的平均分
        
        Scanner sc  = new Scanner(System.in);
        for(int i=0;i<score.length;i++) {
            
            if(i%5==0) {//打印提示信息
                System.out.println("\n请输入第"+(i/5+1)+"名学生的成绩(语文,数学,外语,物理,化学):");
                
            }    
            score[i]=sc.nextDouble(); //获取成绩
            sum[i/5]+=score[i];  //计算3名学生的总分
        }
        
        
        int k=0;
        for(int i=0;i<5;i++) {
            
            for(int j=0;j<3;j++) {
                
                avg[i]+=score[i+j*5]; //计算平均分,行+列*5即可计算三个学生每门功课的成绩            
            }
            avg[i]/=3;  //乘以3求得每科成绩的平均分
            
        }
        
        System.out.println();
        //打印结果
        for(int i=0;i<3;i++) {
            System.out.println("第"+(i+1)+"名学生的总分为:"+sum[i]);
        }
        
        System.out.println("\n各科平均分为(语文,数学,外语,物理,化学):");
        for(int i=0;i<5;i++) {
            System.out.print(avg[i]+" ");
        }
    }

}

img