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));
}
}
效果如下:
这个题,可以创建数组,存这几科目的成绩,再通过循环对这些成绩进行输入
之后自定义一个求和函数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]+" ");
}
}
}