每日一讲
我以为我很努力,但是好像是假装努力,不过好在当下,我可以真的努力!
回归正题,今天我们要做的事情是通过创建二维数组,用于输入各位同学的各科成绩,这里我手动创建一维数组,用于记录同学的名字以及课程名称。
二维数组创建方式
数据类型[][] 数组名=new 数据类型[第一维长度][第二维长度];
例如:
int age[][]=new int[3][4];
代码实现
/*
* 需求分析:二维数组案例:某一学习小组有四个学生,每个学生有三门课程的考试成绩,求各科目的平均成绩和总平均成绩
* */
//1.输入课程名称和学生姓名,定义两个一维数组(公共的)
static String courses[]={"java基础","前端技术","后端技术"};
static String names[]={"张小三","李四炮","王老五","赵六发"};
//定义一个存放学生成绩的二维数组
static int scores[][]=new int[3][4];
static Scanner input=new Scanner(System.in);
public static void main(String[] args) {
//2.输入学生成绩方法inputScores
inputScores();
//3.计算各科的平均成绩
averageScore();
//4.计算各科的总平均成绩
averageSumScore();
}
//输出成绩的方法
private static void inputScores() {
for(int i=0;i< courses.length;i++)
{
for (int j = 0; j < names.length; j++) {
System.out.print("请输入"+names[j]+"的"+courses[i]+"成绩:");
scores[i][j]=input.nextInt();
}
}
}
private static void averageScore() {
//定义一个数组用于求解每科的总分
int sumScores[]=new int[scores.length];
for(int i=0;i< courses.length;i++)
{
for (int j = 0; j < names.length; j++) {
//计算每一科所有同学成绩的总和
sumScores[i]=sumScores[i]+scores[i][j];
}
}
//求出各科的平均值
for(int i=0;i<sumScores.length;i++)
{
System.out.println(courses[i]+"的平均成绩为:"+sumScores[i]*1.0/names.length);
}
}
private static void averageSumScore() {
//计算所有科目的平均成绩
int sum=0;
for (int i = 0; i < scores.length; i++) {
for (int j = 0; j < scores[0].length; j++) {
sum=sum+scores[i][j];
}
}
System.out.println("所有科目的成绩平均成绩为:"+sum*1.0/(scores.length* names.length));
}
代码能力不是一天就敲出来滴,在此之前,我也是光看不练,显然,这是行不通的,当我们需要自己独立写的时候一头雾水,所以,多敲多练,争取做一个不秃头的代码人!