用List来写区分数据中人物的班级,平局年龄,平均成绩

题目5.有如下Student 对象,
private String name;
private int age;
private int score;
private String classNum;

其中,classNum 表示学生的班号,例如“class05”。 有如下List
List list = new ArrayList();

list.add(new Student(“Tom”, 18, 100, “class05”));
list.add(new Student(“Jerry”, 22, 70, “class04”));
list.add(new Student(“Owen”, 25, 90, “class05”));
list.add(new Student(“Jim”, 30,80 , “class05”));
list.add(new Student(“Steve”, 28, 66, “class06”));
list.add(new Student(“Kevin”, 24, 100, “class04”));
在这个list 的基础上,完成下列要求:
1) 计算所有学生的平均年龄
2) 计算各个班级的平均分

题目分析;要创建三个类
第一个类是来写student类
来写关于student的属性的

第二个类是写班级的类用来表示班级的

第三个类用来测试所写的,并加入实际的数据

第一个类
public class student {
private String name;//私有化
private int age;
private int score;
private String classnum;
public student() {//空参构造
super();
// TODO Auto-generated constructor stub
}
public student(String name, int age, int score, String classnum) {//有参构造
super();
this.name = name;
this.age = age;
this.score = score;
this.classnum = classnum;
}
public String getName() {//set和get方法来取私有化的东西
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public String getClassnum() {
return classnum;
}
public void setClassnum(String classnum) {
this.classnum = classnum;
}
@Override
public String toString() {
return “student [name=” + name + “, age=” + age + “, score=” + score + “, classnum=” + classnum + “]”;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + age;
result = prime * result + ((classnum == null) ? 0 : classnum.hashCode());
result = prime * result + ((name == null) ? 0 : name.hashCode());
result = prime * result + score;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
student other = (student) obj;
if (age != other.age)
return false;
if (classnum == null) {
if (other.classnum != null)
return false;
} else if (!classnum.equals(other.classnum))
return false;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
if (score != other.score)
return false;
return true;
}

第二个类
private String bj;
private List list=new ArrayList<>();//构造list集合并初始化
@Override
public String toString() {
return “classnum [bj=” +bj + “, list=” + list + “]”;
}
public classnum() {
}
public String getbj() {
return bj;
}
public void setNo(String bj) {
this.bj = bj;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
}

第三个类
ArrayList list=new ArrayList<>();
list.add(new student(“tom”,18,100,“class05”));
list.add(new student(“jerry”,22,70,“class04”));
list.add(new student(“owen”,25,90,“class05”));
list.add(new student(“jim”,30,80,“class05”));
list.add(new student(“steve”,28,80,“class06”));
list.add(new student(“kevin”,24,100,“class04”));

		classnum class04=new classnum();
		classnum class05=new classnum();
		classnum class06=new classnum();
		
		class04.setNo("class04");
		class05.setNo("class05");
		class06.setNo("class06");
		for (student student : list) {//区分班级
			if(student.getClassnum().equals(class04.getbj())){
				class04.getList().add(student);
			}else if(student.getClassnum().equals(class05.getbj())) {
				class05.getList().add(student);
			}else {
				class06.getList().add(student);
			}
		}
		int gc=0;
		for (student student : list) {//获取平均年龄
			gc+=student.getAge();
		}
		 System.out.println("平均年龄是"+gc/list.size());
		 double ykd=0;
		 for (student aa : class04.getList()) {//获取平均成绩
			  	ykd+=aa.getScore();
		}
		 System.out.println("class04的平均成绩是"+ykd/class04.getList().size());
		 double yk=0;
		 for (student aa : class05.getList()) {
			  	yk+=aa.getScore();
		}
		 System.out.println("class05的平均成绩是"+yk/class05.getList().size());
		 double yd=0;
		 for (student aa : class06.getList()) {
			  	yd+=aa.getScore();
		}
		 System.out.println("class06的平均成绩是"+yd/class06.getList().size());
	}

}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小康康953

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值