我做这个实例的时候碰到的几个难点:
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);
}
七.程序输出结果
哈哈哈哈小有成就的感觉!!!