/** * 功能:定义一个Student数组,其中保存学生的基本信息,包括姓名,学号,性别,还有三门课的成绩 * 和课程对应的学分,计算出学分积,降序排序 * 时间:2014年6月4日16:33:24 * 作者:cutter_point */ package com.lesson4; import java.util.*; public class Demo4_10 { public static void main(String [] args) { //吧成绩放到vector里面去 Student s1=new Student("宋江",1,3,3,5); Student s2=new Student("肖锋",2,9,9,8); Student s3=new Student("武松",3,2,10,7); Student s4=new Student("吴用",4,10,2,6); Student s5=new Student("诸葛亮",5,10,1,5); Student s6=new Student("周瑜",6,8,8,7); Student s7=new Student("司马懿",7,9,10,9); Student s8=new Student("李逵",8,1,10,6); Student s9=new Student("孙悟空",9,8,10,9); Student s10=new Student("唐僧",10,2,2,2); //存放未排序的 Vector<Student> v1=new Vector<Student>(); //存放排序后的 Vector<Student> v2=new Vector<Student>(); //吧类放到v1里面去 v1.add(s1);v1.add(s2);v1.add(s3);v1.add(s4);v1.add(s5); v1.add(s6);v1.add(s7);v1.add(s8);v1.add(s9);v1.add(s10); System.out.println(v1.size()); Student temp1=null; Student temp2=null; //根据分数进行排序,然后放入到vector中去,依次找到最小的然后去掉它就可以了 for(int i=0 ; v1.size() > 1 ; ) { //每次都取当前的第一个,因为我会一直删里面的类 temp1=v1.get(i); //和后面的比较 for(int j=1 ; j<v1.size() ; ++j) { temp2=v1.get(j); if(temp1.getCredit()<temp2.getCredit()) { //如果第一个是小的,那么就交换,一直到找到最大的 temp1=temp2; } } //第一层循环完成,找到当前最大的,放入到v2的第一个 v2.add(temp1); //吧当前的temp1从v1去掉,直到v1被搬空为止 v1.remove(temp1); } //输出v2 for(int i=0 ; i<v2.size() ; ++i) { Student st=v2.get(i); System.out.println("ID:"+st.sid+"名字:"+st.sname+"学分之和:"+st.getCredit()); } } } class Student { String sname; int sid; String sex; int ascore; int bscore; int cscore; int acredit; int bcredit; int ccredit; public Student(String sname, int sid, int acredit, int bcredit, int ccredit) { this.sname=sname; this.sid=sid; this.acredit=acredit; this.bcredit=bcredit; this.ccredit=ccredit; } public Student getLei(int id) { if(this.sid == id) { return this; } else { return null; } } public int getCredit() { return acredit+bcredit+ccredit; } }
public Student getLei(int id) { if(this.sid == id) { return this; } else { return null; } }
Java用vector容器排序,布布扣,bubuko.com
原文地址:http://blog.csdn.net/cutter_point/article/details/28438159