您的位置:首页 > 编程语言 > Java开发

浙江大学PAT (Basic Level) Practice (中文)1004成绩排名JAVA实现代码及分析

2019-03-02 21:16 85 查看

1004

成绩排名

读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。

输入格式:
每个测试输入包含 1 个测试用例,格式为
第 1 行:正整数 n
第 2 行:第 1 个学生的姓名 学号 成绩
第 3 行:第 2 个学生的姓名 学号 成绩
… … …
第 n+1 行:第 n 个学生的姓名 学号 成绩

其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 1 4000 00 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。
输出格式:

对每个测试用例输出 2 行,第 1 行是成绩最高学生的姓名和学号,第 2 行是成绩最低学生的姓名和学号,字符串间有 1 空格。
这道题没什么难度,创建一个学生类用于保存输入的数据,最后输出的时候挑出成绩最高和最低的人就完事了。
话不多说,实现代码如下:

import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
class stu
{
public String name;
public String stuNum;
public int score;
stu(String n,String sN,int s)
{
name=n;
stuNum=sN;
score=s;
}
}

public class Main {

public static void main (String[]args)
{
String tempName;
String tempStuNum;
int tempScore;
Set <stu>set=new HashSet<stu>();
int n;
Scanner input=new Scanner(System.in);
n=input.nextInt();
for(int i=0;i<n;i++)
{
tempName=input.next();
tempStuNum=input.next();
tempScore=input.nextInt();
set.add(new stu(tempName,tempStuNum,tempScore));
}
stu minStu=new stu("T","T",99999);
stu maxStu=new stu("T","T",-99999);
for(stu item: set)
{
if(minStu.score>item.score)
{
minStu=item;
}
if(maxStu.score<item.score)
{
maxStu=item;
}
}
System.out.println(maxStu.name+" "+maxStu.stuNum);
System.out.println(minStu.name+" "+minStu.stuNum);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐