先写类方法:
class Student {
int score;
int number;
int state;
public String into() {
return "学号:"+number +",年级:" +state+",成绩:"+score;
}
/**
* 查找年级
* @param stus
* @param state
*/
public void search(Student[] stus,int state) {
for(int i=0;i<stus.length;i++) {
if(stus[i].state==state) {
System.out.println(stus[i].into());
}
}
}
/**
* 从小到大排序
* @param stus
* @param score
*/
public void sort(Student[] stus,int score) {
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 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].into());
}
}
/**
* 遍历数组
* @param stus
*/
public void bianli(Student[] stus) {
for(int i=0;i<stus.length;i++) {
System.out.println(stus[i].into());
}
}
}
属性之后定义了三个方法,可以在主函数直接调用!
主函数:
public class day24 {
public static void main(String[] args) {
Student[] stus=new Student[20];
for(int i=0;i<stus.length;i++) {
//给数组元素赋值
stus[i]=new Student();
//学号赋值
stus[i].number=i+1;
//学生成绩赋值
stus[i].score=(int)(Math.random()*(100+1));
stus[i].state=(int)(Math.random()*(6-1+1)+1);
}
Student test=new Student();
//遍历数组
//test.bianli(stus);
//升序排列
test.sort(stus, 0);
//查找年级
//test.search(stus, 3);
}