java 输出成绩按从小到大的顺序(运用数组,面向对象的思想)

我做这个实例的时候碰到的几个难点:

1.如何运用数组为一个类创建多个对象。
2.用冒泡排序输出时,输出语句放的位置不同会产生不同的结果。
3.排序的时候如何交换成绩,同时把学号也交换。

一.首先创建一个Student类,且声明成员变量
public class Student{
	int number; //学号
	int state; //年级
	int score; //分数
	}
二.给学号和年纪赋值,“年级范围用random函数随机赋值范围在(1-6)年级”。
for(int i=0;i<stu.length;i++) {//给学号赋值,范围(1-5)
			stu[i].number=i+1;
		}
		for(int i=0;i<stu.length;i++) {//给年级赋值范围(1-6)
			stu[i].state=(int)(Math.random()*(6+1-1)+1);
	}
三.创建一个方法用来给学生的赋值,范围在(0-100)取整。
public void fenshu( Student [] stu) {
	for (int i=0;i<stu.length;i++) {
		stu[i].score=(int)(Math.random()*(100)+1);}
}
四.创建一个方法用于排序学生的成绩从高到低。
public void paixushuchu(Student[] stu) {
	for(int i=0;i<stu.length;i++) { 
		for(int j=0;j<stu.length-1-i;j++) {
			if(stu[j].score>stu[j+1].score) {
				Student temp =stu[j];
				stu[j]=stu[j+1];
				stu[j+1]= temp;
			}
		}
	}}
五.创建一个方法用于输出已将排序好的学生成绩。
public void print(Student [] stu) {
	for(int i=0;i<stu.length;i++) {
		System.out.println("学生的学号:"+stu[i].number+" "+"学生的年级:"+stu[i].state+" "+"学生的分数:"+stu[i].score);
	}
}
六.主函数里面分别调用这些方法
public static void main(String[] args) {
		// TODO Auto-generated method stub
		Student []stu =new Student[5];
		for(int i=0;i<stu.length;i++) {//给数组元素赋值
			stu[i]=new Student();
		}
		for(int i=0;i<stu.length;i++) {//给学号赋值,范围(1-5)
			stu[i].number=i+1;
		}
		for(int i=0;i<stu.length;i++) {//给年级赋值范围(1-6)
			stu[i].state=(int)(Math.random()*(6+1-1)+1);
	}
		System.out.println("/");
		Student a=new Day09();
		a.fenshu(stu);
		a.print(stu);
		System.out.println("///");
		a.paixushuchu(stu);
	}
七.程序输出结果

在这里插入图片描述

哈哈哈哈小有成就的感觉!!!

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值