package com.company;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.SortedMap;
public class Main {
public static void main(String[] args) {
String scoreArr[][] = new String[11][7];
scoreArr[0] = new String[]{"姓名", "Base", "OOP", "Servlet", "JSP", "SSh", "SSM"};
scoreArr[1] = new String[]{"Jerry", "44", "87", "99", "44", "30", "81"};
scoreArr[2] = new String[]{"Tyke", "52", "93", "76", "80", "58", "32"};
scoreArr[3] = new String[]{"Spike", "75", "76", "64", "74", "67", "43"};
scoreArr[4] = new String[]{"Duck", "53", "99", "43", "25", "82", "35"};
scoreArr[5] = new String[]{"Mouse", "86", "46", "76", "61", "27", "94"};
scoreArr[6] = new String[]{"Cat", "66", "36", "88", "56", "32", "84"};
scoreArr[7] = new String[]{"Gaffey", "70", "59", "45", "75", "23", "54"};
scoreArr[8] = new String[]{"Odie", "21", "71", "60", "58", "97", "92"};
scoreArr[9] = new String[]{"Jon", "51", "29", "49", "66", "30", "94"};
scoreArr[10] = new String[]{"Tom", "89", "80", "76", "61", "85", "99"};
// StuArray1(scoreArr);
// StuArray2(scoreArr);
// System.out.println(StuArray3max(scoreArr, 2));//数字2代表OOP学科
// System.out.println(StuArray3min(scoreArr, 2));//数字2代表OOP学科
// StuArray4(scoreArr);
// StuArray5(scoreArr);
// StuArray6(scoreArr, 2, 70);//OOP学科大于70分的学生信息
// StuArray7(scoreArr, 6);
// String newScoreArr[] = new String[]{"Math", "23", "44", "56", "33", "98", "75", "44", "56", "33", "98"};
// StuArray8(scoreArr, newScoreArr, 7);
}
//获取所有学生的成绩并输出
public static void StuArray1(String[][] scoreArr) {
for (int i = 0; i < scoreArr.length; i++) {
for (int j = 0; j < scoreArr[i].length; j++) {
System.out.print(scoreArr[i][j] + "\t");
}
System.out.println();
}
}
//获取所有学生的成绩并反转排序输出
public static void StuArray2(String[][] scoreArr) {
StuArray1(scoreArr);
int cont = scoreArr.length;
int num;//调换的次数
if (cont % 2 == 0) {
num = (cont - 1 - 1) / 2;
} else {
num = (cont - 1) / 2;
}
for (int i = 0; i < num; i++) {
String arr[] = scoreArr[i + 1];
scoreArr[i + 1] = scoreArr[scoreArr.length - 1 - i];
scoreArr[scoreArr.length - 1 - i] = arr;
}
System.out.println();
System.out.println();
System.out.println();
StuArray1(scoreArr);
}
//统计指定学科的最高分和最低分并输出
public static int StuArray3max(String[][] scoreArr, int subject) {
int max = Integer.parseInt(scoreArr[1][subject]);
for (int i = 1; i < scoreArr.length; i++) {
int score = Integer.parseInt(scoreArr[i][subject]);
if (max < score) {
max = score;
}
}
return max;
}
public static int StuArray3min(String[][] scoreArr, int subject) {
int min = Integer.parseInt(scoreArr[1][subject]);
for (int i = 1; i < scoreArr.length; i++) {
int score = Integer.parseInt(scoreArr[i][subject]);
if (min > score) {
min = score;
}
}
return min;
}
//统计每个学生的总成绩及平均分并输出
public static void StuArray4(String[][] scoreArr) {
for (int i = 1; i < scoreArr.length; i++) {
int total = 0;
for (int j = 1; j < scoreArr[i].length; j++) {
total += Integer.parseInt(scoreArr[i][j]);
}
float avage = (float) total / scoreArr[i].length;
System.out.println(scoreArr[i][0] + "\t" + total + "\t" + avage);
System.out.println();
}
}
//统计学科的平均成绩并输出
public static void StuArray5(String[][] scoreArr) {
for (int j = 1; j < scoreArr[0].length; j++) {
int total = 0;
for (int i = 1; i < scoreArr.length; i++) {
total += Integer.parseInt(scoreArr[i][j]);
}
float avage = (float) total / (scoreArr.length - 1);
System.out.println(scoreArr[0][j] + "\t" + avage);
System.out.println();
}
}
//统计指定学科成绩在N分之上的学生信息并输出
public static void StuArray6(String[][] scoreArr, int subject, int levelScore) {
for (int i = 1; i < scoreArr.length; i++) {
int score = Integer.parseInt(scoreArr[i][subject]);
if (score > levelScore) {
System.out.println(scoreArr[i][0]);
}
}
}
//根据指定学科成绩进行排序(升序)(至少两种方案)
public static void StuArray7(String[][] scoreArr, int subject) {
String arr[] = new String[scoreArr.length];
for (int i = 0; i < scoreArr.length; i++) {
arr[i] = scoreArr[i][subject];
}
System.out.println(Arrays.toString(arr));
for (int i = 1; i < arr.length - 1; i++) {
for (int j = 1; j < arr.length - 1 - i; j++) {
if (Integer.parseInt(arr[j]) > Integer.parseInt(arr[j + 1])) {
String temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
String arrTemp[] = scoreArr[j];
scoreArr[j] = scoreArr[j + 1];
scoreArr[j + 1] = arrTemp;
}
}
}
StuArray1(scoreArr);
}
//在某个学科前添加一列新学科的成绩
public static void StuArray8(String[][] scoreArr, String[] newScoreArr, int subject) {
String[][] descArray = new String[scoreArr.length][scoreArr[0].length + 1];
for (int i = 0; i < scoreArr.length; i++) {
for (int j = 0; j < subject; j++) {
descArray[i][j] = scoreArr[i][j];
}
}
for (int i = 0; i < newScoreArr.length; i++) {
descArray[i][subject] = newScoreArr[i];
}
for (int i = 0; i < scoreArr.length; i++) {
for (int j = subject; j < scoreArr[0].length; j++) {
descArray[i][j + 1] = scoreArr[i][j];
}
}
StuArray1(descArray);
}
}
Java 二维数组的使用
最新推荐文章于 2024-08-26 10:25:04 发布