JAVA定义Student,包含三个属性:学号,年级,成绩 创建20个学生对象,学号1-20,年级成绩都由随机数确定,冒泡排序,指定输出

  • 定义Student,包含三个属性:学号number,年级state,成绩score
  • 创建20个学生对象,学号1-20,年级成绩都由随机数确定
  • 问题1:打印出指定年级的学生信息
  • 问题2:使用冒泡排序按学生成绩排序,并遍历所有学生信息
  • 改进版本-封装
public class execute2 {
public static void main(String[] args) {
	Student1 [] stus = new Student1[20];//声明对象数组,注意Student是引用类 
	//赋值操作
	for(int i=0;i<stus.length;i++) {
		stus[i] =new Student1();//给每一个位置new一个对象
		stus[i].number=i+1;
		stus[i].score=(int)(Math.random()*(100+1));//[1-100]随机赋值
		stus[i].state=(int)(Math.random()*(6-1+1)+1);//[1-6]	
	}
	for(int i=0;i<stus.length;i++) {
		System.out.println(stus[i].infor());
	}
	System.out.println("***********************");
	
	execute2 text = new execute2();
//问题1:打印出三年纪的学生信息(1-6)年级
	text.point(stus, 3);
//问题2:使用冒泡排序按学生成绩排序,并遍历所有学生信息
	text.sort(stus);
	text.print(stus);
}
	
    //遍历学生信息
	public void print(Student1 [] stus) {
	for(int i=0;i<stus.length;i++) {
		System.out.println(stus[i].infor());
	}
	System.out.println("++++++++++++++++++++++++");
	}
	//查找指定年级
	public void point(Student1 [] stus,int state) {  //(从哪个数组找,那个类型数据)
	//打印三年级学生信息
		for(int i=0;i<stus.length;i++) {
		if(stus[i].state==state) {
			System.out.println(stus[i].infor());
		}
		}
		System.out.println("-------------------------");
	}
	//冒泡排序
	/**
	 *注意不能用int temp =stus[j]他会导致出现问题 int型无法转换Student,我们用引用类创建对象
	 *所以要Student temp=stus[j];
	 */
	public void sort(Student1 [] stus) {
		for(int i=0;i<stus.length-1;i++) {
			for(int j=0;j<stus.length-1-i;j++) {
				if(stus[j].score>stus[j+1].score) {
					//如果需要换序交换的是Student
					Student1 temp=stus[j]; 
					stus[j]=stus[j+1];
					stus[j+1]=temp;	
				}
			}
		}
		
	}
}
class Student1 {
	int number;//学号
	int state;//年级
	int score;//分数
	
	//输出
	public String infor() {
		return "学号"+number+"\t"+"年级"+state+"\t"+"分数"+score;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值