讀入n名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。
輸入格式:每個測試輸入包含1個測試用例,格式爲
第1行:正整數n
第2行:第1個學生的姓名 學號 成績
第3行:第2個學生的姓名 學號 成績
… … …
第n+1行:第n個學生的姓名 學號 成績
其中姓名和學號均爲不超過10個字符的字符串,成績爲0到100之間的一個整數,這裏保證在一組測試用例中沒有兩個學生的成績是相同的。
輸出格式:對每個測試用例輸出2行,第1行是成績最高學生的姓名和學號,第2行是成績最低學生的姓名和學號,字符串間有1空格。
輸入樣例:
3
Joe Math990112 89
Mike CS991301 100
Mary EE990830 95
輸出樣例:
Mike CS991301
Joe Math990112
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class A_1004 {
public static void main(String[] args) {
Scanner scanInt = new Scanner(System.in);
int num = Integer.parseInt(scanInt.nextLine());
List<String> array = new ArrayList<String>();
while(num > 0){
String str = scanInt.nextLine();
array.add(str);
num--;
}
//min初始是一個很大的數
int min = 1000000;
int min_index = 0;
int max = 0;
int max_index = 0;
StringBuilder maxString=new StringBuilder();
StringBuilder minString=new StringBuilder();
for (int i = 0; i < array.size(); i++) {
String x = array.get(i);
String[] temp=x.split(" ");
int temScore = Integer.parseInt(temp[2]);
if (min > temScore ) {
min = temScore;
min_index = i;
}
if (max < temScore) {
max = temScore;
max_index = i;
}
}
String[] maxTemp=array.get(max_index).split(" ");
String[] minTemp=array.get(min_index).split(" ");
minString.append(minTemp[0]);
minString.append(" ");
minString.append(minTemp[1]);
maxString.append(maxTemp[0]);
maxString.append(" ");
maxString.append(maxTemp[1]);
System.out.println(maxString);
System.out.println(minString);
}
}