package com.objectoriented.java;
/*
* 对象数组题目
* 定义类student,包含三个属性学号:number(int),年级:state(int),成绩:score(int)
* 创建20个对象
* 问题一:打印出三年级的学生信息,范围是1到6年级
* 问题二:使用冒泡排序对成绩,遍历学生信息
*
*提示
* 1、生成随机数:Math.random()的返回值类型为double
* 2、四舍五入取整Math.round(double d)返回值为long
* */
public class StudentText {
public static void main(String[] args) {
//定义一个对象数组用于存放20个对象
Student[] stu=new Student[20];
//创建20个student对象,并随机生成年级和成绩
for (int i=0;i<20;i++){
stu[i]=new Student();
stu[i].number=i+1;
//用(int)进行强制类型转化
stu[i].state=(int)(Math.random()*(6-1+1)+1);
stu[i].score=(int)(Math.random()*(100-0+1)+0);
}
//问题一:打印出三年级的学生信息
for (int i=0;i<20;i++){
if (stu[i].state==3){
System.out.println(stu[i].inform());
}
}
//问题二:使用冒泡排序对成绩,遍历学生信息
for (int i=0; i<20;i++){
for (int j=0;j< stu.length-1;j++){
if(stu[j].score>stu[j+1].score){
//注意当成绩大时,要交换的是对象,而不是对象的成绩属性
Student c=stu[j];
stu[j]=stu[j+1];
stu[j+1]=c;
}
}
}
//遍历一下数组
for (int i=0;i<20;i++){
System.out.println(stu[i].inform());
}
}
}
class Student{
int number;
int state;
int score;
//定义一个方法来显示学生的,学号,年级,成绩,
public String inform(){
return "学号:"+number+",年级:"+state+",成绩:"+score;
}
}
java基础 * 对象数组题目
最新推荐文章于 2024-10-06 20:16:20 发布