1. 程式人生 > >氣泡排序:對成績從低到高進行排序(JAVA)

氣泡排序:對成績從低到高進行排序(JAVA)

陣列排序:採用物件陣列的方式來儲存學生物件

缺點:人數變動時,程式需要較大修改

原始碼

public class student  {
private String name;
private int age;
private double grade;
public student(String name,int age,double grade) {
	this.name=name;
	this.age=age;
	this.grade=grade;
}
public String getName() {
	return name;
}
public int getAge() {
	return age;
}
public double getGrade() {
	return grade;
}
}
public class studentclass {

	private student[] stus;
	private int size;
	
	public studentclass() {
		size=0;
		stus=null;
	}
     public void createclass() {
    	 String names[]= {"張三","王五","李四","趙六","孫琦"};
    	 double grades[]= {89,90,78,85,73};
    	 int ages[]= {17,20,17,18,19};
    	 size=names.length;
    	 stus=new student[size];
    	 for(int i=0;i<size;i++) {
    		 stus[i]=new student(names[i],ages[i],grades[i]);
    	 }
     }
     public void sort() {
    	 student temp;
    	 for(int i=0;i<size;i++) {
    		 for(int j=1;j<size-i;j++) {
    			 if(stus[j-1].getGrade()>stus[j].getGrade()) {
    				 temp=stus[j-1];
    				 stus[j-1]=stus[j];
    				 stus[j]=temp;
    			 }
    		 }
    	 }
     }
     public String output() {
    	 StringBuilder studentInfo=new StringBuilder();
    	 for(int i=0;i<size;i++) {
    		 studentInfo.append("姓名:"+stus[i].getName()+"\t成績:"+stus[i].getGrade()+"\r\n");
    	 }
    	 return studentInfo.toString();
     }
}
public class test {

	public static void main(String[] args) {
		
  studentclass sclass=new studentclass();
  sclass.createclass();
  System.out.println("原始序列:");
  System.out.println(sclass.output());
  sclass.sort();
  System.out.println("陣列氣泡排序結果:");
  System.out.println(sclass.output());
	}
}
執行結果