定义一个4行3列的二维数组,数组的每一行依次表示一个同学的(大学英语、JAVA程序设计、数据库原理)3门成绩。如:数组中有一行的元素为:76,87,92,就表示这位同学的大学英语的成绩是76,JAVA程序设计的成绩是87,数据库原理的成绩是92。编程输出每位同学分数的最高分,以及每一门科目的最低分。
import java.util.Scanner;
public class A {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a[][] = new int[4][3];
System.out.println("请输入四行三列的成绩:");
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
a[i][j] = sc.nextInt();
}
}
for(int i = 0;i < 4;i++){
int max = a[i][0];
for(int j = 1;j < 3;j++){
if(a[i][j] > max){
max = a[i][j];
}
}
System.out.println("第" + (i + 1) + "个同学的最高成绩是:" + max);
}
for(int i = 0;i < 3;i++){
int min = a[0][i];
for(int j = 1;j < 4;j++){
if(a[j][i] < min){
min = a[j][i];
}
}
System.out.println("第" + (i + 1) + "门课的最低成绩是:" + min);
}
}
}
参考:https://www.runoob.com/java/arrays-min-max.html
每一行是一个数组,用Collections类的max来获取【每位同学分数的最高分】输出;
获取每一列的数据,形成三个数组,用Collections类的min来获取每个数组的最小值【每一门科目的最低分】输出。
首先定义一个二维数组,然后通过两层循环对其进行初始化赋值,外层循环控制人数,内层循环输入每个同学的三门成绩给数组元素。
然后就是编程输出每位同学分数的最高分,以及每一门科目的最低分。遍历查找(类似于排序时的比较大小)就可以了。
望采纳!!