/**
* 要求:
* 1:创建一个学生类,成员变量为
* sNO示学号;sName表示姓名;sSex表示性别;
* sAge表示年龄;sJava:表示Java课程成绩。
* 2:类Student带参数的构造方法:
在构造方法中通过形参完成对成员变量的赋值操作
3:生成Student类的get方法和set方法
*/
/**
* 要求:创建五个该类的对象,输出每个学生的信息,
计算并输出这五个学生Java语言成绩的平均值,
以及计算并输出他们Java语言成绩的最大值和最小值。
案例分析:使用到TreeSet集合进行对学生类的Java课程的成绩排序
然后使用TreeSet的方法实现最大值和最小值
*/
import java.util.Comparator;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
private int sNO;//表示为学号
private String sName;//表示为姓名
private char sSex;//表示为性别
private int sAge;//表示为年龄
private float sJava;//表示为Java课程成绩
//Student类的构造方法
public Student(int sNO, String sName, char sSex, int sAge, float sJava) {
super();
this.sNO = sNO;
this.sName = sName;
this.sSex = sSex;
this.sAge = sAge;
this.sJava = sJava;
}
//获得学号
public int getsNO() {
return sNO;
}
public void setsNO(int sNO) {
this.sNO = sNO;
}
//获得名字
public String getsName() {
return sName;
}
public void setsName(String sName) {
this.sName = sName;
}
//获得性别
public char getsSex() {
return sSex;
}
public void setsSex(char sSex) {
this.sSex = sSex;
}
//获得年龄
public int getsAge() {
return sAge;
}
public void setsAge(int sAge) {
this.sAge = sAge;
}
//获得Java课程的成绩
public float getsJava() {
return sJava;
}
public void setsJava(float sJava) {
this.sJava = sJava;
}
//对Student类的toString方法的重写
@Override
public String toString() {
return "Student [sNO=" + sNO + ","
+ " sName=" + sName + ", sSex=" + sSex + ", "
+ "sAge=" + sAge + ", sJava=" + sJava + "]";
}
}
public class StuMethods {
public static void main(String[] args) {
TreeSetDemo();
}
public static void TreeSetDemo() {
TreeSet<Student> set=new TreeSet<Student>(new Comparator<Student>() {
//自定义按照成绩比较方法
@Override
public int compare(Student o1, Student o2) {
if (o1.getsJava()==o2.getsJava()) {
return 0;
}else {
return (int) (o1.getsJava()-o2.getsJava());
}
}
});
//添加学生信息
set.add(new Student(1, "zhangsan", '男', 20, 90f));
set.add(new Student(2, "lisi", '男', 19, 88f));
set.add(new Student(3, "wangwu", '男', 22, 98f));
set.add(new Student(4, "mary", '女', 18, 99f));
set.add(new Student(5, "zhaoliu", '男', 23, 70f));
//遍历输出学生信息
float temp=0f;
Iterator<Student> ts=set.iterator();
for (Student st : set) {
System.out.println(st);
temp+=st.getsJava();
}
//求取Java课程的平均成绩
float temp1=temp/set.size();
//输出平均分
System.out.println("Java课程的平均成绩为:"+temp1);
//输出Java课程成绩的最小值
System.out.println("Java课程成绩的最小值为:"+set.first().getsJava());
//输出Java课程成绩的最大值
System.out.println("Java课程成绩的最大值为:"+set.last().getsJava());
}
}
运行结果为(仅供参考):