Joe Math990112
Java实现代码:
public class ScorePojo { private String name; private String snum; private int score; public ScorePojo(String name, String snum, int score) { super(); this.name = name; this.snum = snum; this.score = score; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSnum() { return snum; } public void setSnum(String snum) { this.snum = snum; } public int getScore() { return score; } public void setScore(int score) { this.score = score; } @Override public String toString() { return name + " " + snum; } }
public class ScoreOrder { public static void main(String[] args) { @SuppressWarnings("resource") Scanner cin = new Scanner(System.in); int nextInt = cin.nextInt(); new ScoreOrder().exe(nextInt); } public void exe(int nextInt) { @SuppressWarnings("resource") Scanner cin = new Scanner(System.in); List<Integer> scorelist = new ArrayList<Integer>(); List<ScorePojo> list = new ArrayList<ScorePojo>(); while (nextInt > 0) { String str = cin.nextLine(); String[] split = str.split(" "); int score = Integer.parseInt(split[2]); ScorePojo pojo = new ScorePojo(split[0], split[1], score); scorelist.add(score); list.add(pojo); nextInt--; } // 升序 Collections.sort(scorelist); // 取出最高成绩与最低成绩 int high = scorelist.get(scorelist.size() - 1); int low = scorelist.get(0); List<ScorePojo> orderlist = new ArrayList<ScorePojo>(); for (int i = 0; i < list.size(); i++) { if ((list.get(i).getScore() != high) || (list.get(i).getScore() != low)) { // System.out.println(list.get(i).toString()); orderlist.add(list.get(i));// 只保留最高成绩和最低成绩对象 } } if (orderlist.get(0).getScore() > orderlist.get(1).getScore()) {// 输出排序 System.out.println(orderlist.get(0).toString()); System.out.println(orderlist.get(1).toString()); } else { System.out.println(orderlist.get(1).toString()); System.out.println(orderlist.get(0).toString()); } } }
