java 定义类Student,包含三个属性:学号number(int),年级state(int),成绩 score(int)。 * 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。

package com.huayu.class1;
/*

  • 4.对象数组题目:
  • 定义类Student,包含三个属性:学号number(int),年级state(int),成绩 score(int)。
  • 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
  • 问题一:打印出3年级(state值为3)的学生信息。
  • 问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
  • 提示:
  • 1)生成随机数:Math.random(),返回值类型double;
  • 2)四舍五入取整:Math.round(double d),返回值类型long。

*/
public class ClassExer {

public static void main(String[] args) {
	
	//创建调用对象
	ClassExer a = new ClassExer();
	//创建学生Student对象数组
	Student[] stu = new Student[20];
	for(int i = 0; i< stu.length; i++ ) {
		stu[i] = new Student();
		
		//赋值学号
		stu[i].number = ( i + 1);
		//随机年级[1,6]
		stu[i].state = (int)(Math.random() * (6-1+1) + 1);
		//随机成绩[0,100]
		stu[i].score = (int)(Math.random() * (100 - 0 + 1) + 0);
	}
	
	//遍历
	a.print(stu);
	
	System.out.println("*********************");
	
	//问题一:打印出3年级(state值为3)的学生信息
	a.wenTi1(stu, 3);
	
	System.out.println("*********************");
	
	//问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
	a.wenTi2(stu);
	
	//遍历
	a.print(stu);
}

/**
 * 
* @Description  遍历 
* @author lph
* @date 2022年5月25日下午12:06:48
* @param stu 对象
 */
public void print(Student[] stu) {
	for(int i = 0; i< stu.length; i++) {
		System.out.println(stu[i].info());
	}
}
/**
 * 
* @Description 
* @author lph
* @date 2022年5月25日下午12:11:22
* @param stu  调用对象
* @param state  年级
 */
public void wenTi1(Student[] stu,int state) {
	for(int i =0 ; i < stu.length; i++) {
		if(stu[i].state == state) {
			System.out.println(stu[i].info());
		}
	}
}
/**
 * 
* @Description 对成绩冒泡排序
* @author lph
* @date 2022年5月25日下午12:13:22
* @param stu
 */
public void wenTi2(Student[] stu) {
	for(int i = 0; i< stu.length - 1; 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;
		}
		}
	}
}

}

class Student{
int number;//学号
int state;//年级
int score;//成绩

public String info() {
	return "学号 " + number + " 年级 " + state + " 成绩 " + score;
}

}
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值