冒泡排序:对成绩从低到高进行排序(JAVA)

本文介绍了一个使用Java实现的学生对象数组排序程序。通过创建学生类及其属性,并在一个模拟的班级环境中进行数组冒泡排序,实现了对学生对象按成绩排序的功能。文章提供了完整的源代码及运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组排序:采用对象数组的方式来存储学生对象

缺点:人数变动时,程序需要较大修改

源代码

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());
	}
}


运行结果





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值