网络营销的市场背景手机游戏性能优化软件
说明:每次比较出最大值后,把最大值设置为最小值-1,再次比较该数组;
创建Object b[][] = new Object[N][2];来存储String和Int两种类型数据到同一个数组里
package com.MyJava;import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner scan = new Scanner(System.in);System.out.println("输入学生人数:");String Num = scan.next();int N = Integer.parseInt(Num);// 创建Object类型二维数组并赋值Object[][] a = new Object[N][2];int max = 0, min = 0;String maxName = null;for (int i = 0; i < N; i++) {System.out.println("输入第" + (i + 1) + "个学生的姓名:");String Name = scan.next();a[i][0] = Name;System.out.println("输入第" + (i + 1) + "学生人数的成绩:");int Score = scan.nextInt();a[i][1] = Score;// 把第一个输入成绩赋值给min,只需要赋值一次!if (i == 0) {min = (int) a[0][1];}// 计算最小值if ((int) a[i][1] < min) {min = (int) a[i][1];}}// 计算最大值并依次输出Object b[][] = new Object[N][2];System.out.println("成绩由高到低的排序为:");for (int i = 0; i < N; i++) {int j = 0;// 循环计算最大值for (j = 0; j < N; j++) {if ((int) a[j][1] > max) {max = (int) a[j][1];maxName = (String) a[j][0];}}System.out.println("姓名:" + maxName + ";成绩:" + max);// 找到最大值,并设为最小值,下次循环就能找到更小的值for (j = 0; j < N; j++) {if ((int) a[j][1] == max) { // 找到最大值对应的位置ja[j][1] = min-1; // 把最大值设为最小值-1maxName = (String) a[j][0];max = min-1; // 设置max为最小值-1,用于下次循环比较出最大值}}}}
}
输入学生人数:
5
输入第1个学生的姓名:
张三
输入第1学生人数的成绩:
66
输入第2个学生的姓名:
李四
输入第2学生人数的成绩:
89
输入第3个学生的姓名:
王二
输入第3学生人数的成绩:
99
输入第4个学生的姓名:
莉莉
输入第4学生人数的成绩:
87
输入第5个学生的姓名:
陈琳
输入第5学生人数的成绩:
74
成绩由高到低的排序为:
姓名:王二;成绩:99
姓名:李四;成绩:89
姓名:莉莉;成绩:87
姓名:陈琳;成绩:74
姓名:张三;成绩:66