* 定义类Student、包含三个属性:学号number(int),年级state(int、成绩score(int)
* 创建20个学生对象,学号为1到20,年级(小学)和成绩(百以内)都有随机数确定
* 问题一:打印出三年级(state值为3)的学生信息
* 问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
* 提示:
* 1)生成随机数:Math.random(),返回值类型Double
* 2)四舍五入取整数:Math.round(double d),返回值类型long
public class StudentTest {
public static void main(String[] args) {
//声明Student类型的数组
Student[] stus = new Student[20];
for(int i = 0;i <stus.length;i++) {
//给数组元素赋值
stus[i] = new Student();
//给Student对象的属性赋值
stus[i].number = i + 1;
//年级赋值,随机数为double类型,state为int类型,强转就直接四舍五入,不需要定义
stus[i].state = (int)(Math.random() * (6-1+1)+ 1);
// 成绩赋值【0,100】
stus[i].score = (int)(Math.random() * (100-0+1)+ 1);
}
//输出信息
for(int i = 0;i < stus.length;i++) {
//方式一 System.out.println(stus[i].number + "," +
// stus[i].state + "," + stus[i].score);
//方式二
System.out.println(stus[i].info());//调用方法直接输出信息
}
//问题一:打印出三年级(state值为3)的学生信息
System.out.println("三年级学生的信息:");
for(int i = 0;i < stus.length;i++) {
if(stus[i].state == 3) {
System.out.println(stus[i].info());
}
}
//问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息
System.out.println("按成绩排序,所有学生信息如下:");
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对象
Student temp = stus[j];
stus[j] = stus[j + 1];
stus[j + 1] = temp;
}
}
}
for(int i = 0;i < stus.length;i++) {
System.out.println(stus[i].info());//调用方法直接输出信息
}
}
}
class Student{
int number;//学号
int state;//年级
int score;//成绩
public String info(){//将输出方式定义为方法,输出时直接调用方法
return "学号:" + number + ",年级:" + state + ",成绩为" + score;
}
}
本文介绍如何在Java中定义Student类,创建并随机分配20个学生对象,然后筛选三年级学生并按成绩进行冒泡排序。涉及随机数生成、整数转换及数组操作。

被折叠的 条评论
为什么被折叠?



