package test;
import java.util.Scanner;
public class Test7 {
//判断最大值是否有相同
public static int average_max(String[][] a, Float[] b, int max) {
int x = -1;
for(int k = 0; k < a.length; k++) {
for(int y = 0; y < a[k].length; y++) {
for(int j = 0 ; j < b.length; j++) {
if((b[j] == b[max]) && (a[j][1] != a[max][1])) {
x = j;
}
}
}
}
return x;
}
//判断最小值是否有相同
public static int average_min(String[][] a, Float[] b, int min) {
int m = -1;
for(int k = 0; k < a.length; k++) {
for(int y = 0; y < a[k].length; y++) {
for(int j = 0 ; j < b.length; j++) {
if((b[j] == b[min]) && (a[j][1] != a[min][1])) {
m = j;
}
}
}
}
return m;
}
@SuppressWarnings("resource")
public static void main(String[] args) {
// TODO Auto-generated method stub
int i = 0, l = 1, id = 0, min = 0, max = 0, x = 0, m = 0;
float Ending = 0, Math = 0, C = 0, average = 0;
String name = null;
Scanner sc = new Scanner(System.in);
System.out.print("请输入学生人数:");
int n = sc.nextInt();
String[][] a = new String[n][6];
Float[] b = new Float[n];
while(i < n) {
System.out.print("请输入第" + l +"位学生姓名:");
name = sc.next();
System.out.print("请输入第" + l +"位学生id:");
id = sc.nextInt();
System.out.print("请输入第" + l +"位学生英语成绩:");
Ending = sc.nextFloat();
System.out.print("请输入第" + l +"位学生数学成绩:");
Math = sc.nextFloat();
System.out.print("请输入第" + l +"位学生C++成绩:");
C = sc.nextFloat();
average = (Ending + Math + C) / 3;
for(int j = 0; j < a[i].length; j++) {
a[i][0] = name;
a[i][1] = Integer.toString(id);
a[i][2] = Float.toString(Ending);
a[i][3] = Float.toString(Math);
a[i][4] = Float.toString(C);
a[i][5] = Float.toString(average);
b[i] = average;
}
i++;
l++;
}
for(int j = 0 ; j < b.length; j++) {
if(b[j] > b[max]) {
max = j;
}else if(b[j] < b[min]){
min = j;
}
}
x = Test7.average_max(a, b, max);
m = Test7.average_min(a, b, min);
System.out.print("平均成绩最大的学生为:");
for(int j = 0; j < a[max].length; j++) {
System.out.print(a[max][j] + " ");
}
System.out.println();
if(x != -1) {
System.out.print("平均成绩最大的学生为:");
for(int j = 0; j < a[x].length; j++) {
System.out.print(a[x][j] + " ");
}
System.out.println();
}
System.out.print("平均成绩最小的学生为:");
for(int j = 0; j < a[min].length; j++) {
System.out.print(a[min][j] + " ");
}
System.out.println();
if(m != -1) {
System.out.print("平均成绩最小的学生为:");
for(int j = 0; j < a[m].length; j++) {
System.out.print(a[m][j] + " ");
}
System.out.println();
}
}
}
字符串判断是否相等,要用equals()函数。
二维数组a是字符串二维数组,判断的地方用equals()函数,不相等判断取反就行。
如:判断str1不等于str2
!str1.equals(str2)