Java数据结构定义一个学生类(表格根据学号匹配姓名,姓名,成绩),对学生类进行增删查改

2010专转本试卷及答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
2010专转本试卷及答案
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢学生信息的增删改查(java)_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
学生信息的增删改查(java)
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢面向对象程序设计习题答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
面向对象程序设计习题答案
上传于|0|0|暂无简介
阅读已结束,如果下载本文需要使用2下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩40页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢扫二维码下载作业帮
1.75亿学生的选择
下载作业帮安装包
扫二维码下载作业帮
1.75亿学生的选择
用java定义学生类(学号、姓名、成绩).用列表list存放班级学生信息.然后按照成绩排序,并输出学生信息
迷迭逆夏响
扫二维码下载作业帮
1.75亿学生的选择
import java.util.ArrayLimport java.util.Cimport java.util.Lpublic class Admin {
public static void main(String... args) {
List data = new ArrayList();
Student s0 = new Student();
s0.setNo("000");
s0.setName("a");
s0.setChengji(100.0);
data.add(s0);
Student s1 = new Student();
s1.setNo("001");
s1.setName("b");
s1.setChengji(99.0);
data.add(s1);
Student s2 = new Student();
s2.setNo("002");
s2.setName("c");
s2.setChengji(98.0);
data.add(s2);
System.out.println("排序前");
show(data);
System.out.println("排序后");
sort(data);
show(data);
private static void sort(List data) {
Collections.sort(data, new Comparator() {
public int compare(Object o1, Object o2) {
Student s1 = (Student) o1;
Student s2 = (Student) o2;
return (int) (s1.getChengji() - s2.getChengji());
private static void show(List data) {
for (int i = 0; i < data.size(); i++) {
System.out.println(data.get(i));
}}class Student {
public double getChengji() {
public void setChengji(double chengji) {
this.chengji =
public String getName() {
public void setName(String name) {
this.name =
public String getNo() {
public void setNo(String no) {
public String toString() {
return "学号:" + no + ",姓名:" + name + ",成绩:" +
}} 结果排序前学号:000,姓名:a,成绩:100.0学号:001,姓名:b,成绩:99.0学号:002,姓名:c,成绩:98.0排序后学号:002,姓名:c,成绩:98.0学号:001,姓名:b,成绩:99.0学号:000,姓名:a,成绩:100.0
那这个呢。。。麻烦了~! 定义一个学生类(姓名、学号、性别、分数)。构建一个向量对象,在里面存放20个学生信息。按照学号找出2009级学生的成绩平均值、2008级学生的平均值,2010级学生的成绩平均值。
字数太多了,一次传不上去,你追问吧,我一次给你一点,你自己合一下 public static void main(String... args) {
List data = new ArrayList();
Student s0 = new Student();
s0.setNo("000");
s0.setLevel(2009);
s0.setName("a");
s0.setChengji(100.0);
data.add(s0);
Student s1 = new Student();
s1.setNo("001");
s1.setLevel(2009);
s1.setName("b");
s1.setChengji(99.0);
data.add(s1);
Student s2 = new Student();
s2.setNo("002");
s2.setLevel(2008);
s2.setName("c");
s2.setChengji(98.0);
data.add(s2);
Student s3 = new Student();
s3.setNo("003");
s3.setLevel(2008);
s3.setName("d");
s3.setChengji(97.0);
data.add(s3);
System.out.println("排序前");
show(data);
System.out.println("排序后");
sort(data);
show(data);
// 按照学号找出07级学生的成绩平均值
// 从学号判断有点麻烦,加个属性level入学年份
data = group(data);
avg(data);
这个也是在class Admin中的
private static void avg(List data) {
for (int i = 0; i < data.size(); i++) {
List list = (List) data.get(i);
double sum = 0.0;
int year = 0;
for (int j = 0; j < list.size(); j++) {
Student s = (Student) list.get(j);
sum += s.getChengji();
year = s.getLevel();
System.out.println(year + "级平均成绩:" + (sum / list.size()));
private static List group(List data) {
int oldKey = 0;
List result = new ArrayList();
List list =
for (int i = 0; i < data.size(); i++) {
Student s = (Student) data.get(i);
int newKey = s.getLevel();
if (oldKey == newKey) {
if (list == null) {
list = new ArrayList();
list.add(s);
if (list != null) {
result.add(list);
if (list == null) {
list = new ArrayList();
list.add(s);
oldKey = newK
if (list != null) {
result.add(list);
private static void sort(List data) {
Collections.sort(data, new Comparator() {
public int compare(Object o1, Object o2) {
Student s1 = (Student) o1;
Student s2 = (Student) o2;
return (int) (s1.getChengji() - s2.getChengji());
private static void show(List data) {
for (int i = 0; i < data.size(); i++) {
System.out.println(data.get(i));
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 输出你的姓名及学号 的文章

 

随机推荐