正在回答
同学你好!
1. 整体完成不错,不过这里其实不需要动态的输入科目,因为这里每一个if判断都是一个科目,如果动态输入科目,那么这里的if语句个数也应该是动态的。否则是无法达到动态的效果的
2. 同学这里探索的精神很棒,给你点赞。这里同学重点掌握二维数组的运用即可
祝学习愉快~
package com.Yito.Michael;
import java.util.Scanner;
public class SocreDemo_2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 定义一个三行两列的整型二维数组intArray
System.out.println("请输入学生人数:");
int a = sc.nextInt();
System.out.println("请输入科目数,最多3科");
int b = sc.nextInt();
int[][] intArray;
intArray = new int[a][b];
int sumChina = 0;
int sumMaths = 0;
int sumEng = 0;
int avgChina = 0;
int avgMaths = 0;
int avgEng = 0;
for (int i = 0; i < intArray.length; i++) { // 外层控制行
for (int j = 0; j < intArray[i].length; j++) { // 内层控制列
if (j == 0) {
System.out.println("请输入学生" + (i + 1) + "的语文成绩");
intArray[i][j] = sc.nextInt();
sumChina = sumChina + intArray[i][j];
avgChina = sumChina / intArray.length;
} else if (j == 1) {
System.out.println("请输入学生" + (i + 1) + "的数学成绩");
intArray[i][j] = sc.nextInt();
sumMaths = sumMaths + intArray[i][j];
avgMaths = sumMaths / intArray.length;
} else {
System.out.println("请输入学生" + (i + 1) + "的英语成绩");
intArray[i][j] = sc.nextInt();
sumEng = sumEng + intArray[i][j];
avgEng = sumEng / intArray.length;
}
}
}
System.out.println("语文成绩总和为" + sumChina);
System.out.println("数学成绩总和为" + sumMaths);
System.out.println("英语成绩总和为" + sumEng);
System.out.println();
System.out.println("语文成绩平均分为" + avgChina);
System.out.println("数学成绩平均分为" + avgMaths);
System.out.println("数学成绩平均分为" + avgEng);
}
}
同学你好,代码已实现,继续加油!
可以使用循环来完成,这样会更灵活, 同学也可以参考下如下链接中的代码哦 https://class.imooc.com/course/qadetail/114257
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
import java.util.Scanner;
public class ScoreDemo{
public static void main(String[] args){
//定义一个三行两列的整型二维数组intArray
int[][] intArray;
intArray = new int[3][2];
//从键盘输入学生成绩,要求输入顺序与效果图一致
Scanner sc = new Scanner(System.in);
System.out.println("从键盘输入学生1语文成绩");
intArray[0][0]=sc.nextInt();
System.out.println("学生1语文成绩:"+intArray[0][0]);
System.out.println("从键盘输入学生1数学成绩");
intArray[0][1]=sc.nextInt();
System.out.println("学生1数学成绩:"+intArray[0][1]);
System.out.println("从键盘输入学生2语文成绩");
intArray[1][0]=sc.nextInt();
System.out.println("学生2语文成绩:"+intArray[1][0]);
System.out.println("从键盘输入学生2数学成绩");
intArray[1][1]=sc.nextInt();
System.out.println("学生2数学成绩:"+intArray[1][1]);
System.out.println("从键盘输入学生3语文成绩");
intArray[2][0]=sc.nextInt();
System.out.println("学生3语文成绩:"+intArray[2][0]);
System.out.println("从键盘输入学生3数学成绩");
intArray[2][1]=sc.nextInt();
System.out.println("学生3数学成绩:"+intArray[2][1]);
//求语文的总成绩和平均分
int sum=0;
int pj=0;
for(int i=0; i<intArray.length; i++){
sum=sum+intArray[i][0]; // 这里我用是[i][0],如果后期数据修改起来一定麻烦
pj=(sum)/(intArray.length);
}
System.out.println("语文的总成绩:"+sum);
System.out.println("语文的平均分:"+pj);
//求数学的总成绩和平均分
int sum1=0;
int pj1=0;
for(int i=0; i<intArray.length; i++){
sum1=sum1+intArray[i][1];
pj1=(sum1)/(intArray.length);
}
System.out.println("语文的总成绩:"+sum1);
System.out.println("语文的平均分:"+pj1);
for(int i=0; i<intArray.length; i++){
for(int j=0; j<intArray[0].length; j++){
System.out.print(intArray[i][j]+" ");
}
System.out.println();
}
System.out.println(sum+" "+sum1);
System.out.println(pj+" "+pj1);
}
}
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星