定义一个4行3列的二维数组,数组的每一行依次表示一个同学的(大学英语、JAVA程序设计、数据库原理)3门成绩。如:数组中有一行的元素为:76,87,92,就表示这位同学的大学英语的成绩是76,JAVA程序设计的成绩是87,数据库原理的成绩是92。编程输出每位同学分数的最高分,以及每一门科目的最低分。
代码部分
double[][] arr = new double[][]{{76, 87, 92}, {62, 29, 57}, {65, 82, 34}, {62, 52, 74}};
double englishMin = Integer.MAX_VALUE; //大学英语
double javaMin = Integer.MAX_VALUE; //JAVA程序设计
double sqlMin = Integer.MAX_VALUE; //数据库原理
for (int i = 0; i < arr.length; i++) {
//最高分
int max = 0;
for (int j = 0; j < 3; j++) {
//求出每个同学最高分
if (arr[i][j] > arr[i][max]) {
max = j;
}
//求出每科最低分
switch (j) {
case 0:
if (arr[i][j] < englishMin) {
englishMin = arr[i][j];
}
break;
case 1:
if (arr[i][j] < javaMin) {
javaMin = arr[i][j];
}
break;
case 2:
if (arr[i][j] < sqlMin) {
sqlMin = arr[i][j];
}
break;
}
}
System.out.println(String.format("同学%s最高分:%s", i, arr[i][max]));
}
System.out.println("大学英语最低分:" + englishMin);
System.out.println("JAVA程序设计:" + javaMin);
System.out.println("数据库原理:" + sqlMin);
运行结果
同学0最高分:92.0
同学1最高分:62.0
同学2最高分:82.0
同学3最高分:74.0
大学英语最低分:62.0
JAVA程序设计:29.0
数据库原理:34.0
这是我的理解,如有问题可以评论
package helloworld;
import java.io.*;
public class HelloWorld{
public static void main(String[] args) throws Exception{
int arr[][]=new int[3][4];
int i=0,j=0,max=0,min=0,temp=0;
// 获取用户输入
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
for(i=0;i<4;i++){
for(j=0;j<3;j++){
String str = reader.readLine();
arr[i][j] = Integer.valueOf(str);
}
}
for(i=0;i<4;i++){
for(j=0;j<3;j++){
temp = arr[i][j];
System.out.printf("%d ",temp);
if(temp>=max){
max=temp;
}
}
System.out.printf("===> max_score : %d",max);
System.out.println();
}
System.out.println();
for(i=0;i<3;i++){
min=arr[0][i];
for(j=0;j<4;j++){
temp=arr[j][i];
System.out.printf("%d ",temp);
if(temp<=min){
min=temp;
}
}
System.out.printf("===> min_score : %d",min);
System.out.println();
}
}
}