Java学习笔记day5--oop基础综合练习题
object oriented programming
package day5_oop1; /* 练习题3: 定义Student类,包含三个属性:学号number(int),年级state(int)。成绩score(int),创建20个学生对象,学号为1到20 年级和成绩由随机数生成。 问题一:打印出年级为3的学生信息 问题二:使用冒泡排序法按学生成绩排序,并遍历所有学生信息 提示: 1.生成随机数 double Math.random() 2.四舍五入取整:Math.round(double d),返回类型long */ public class OopExam3 { public static void main(String[] args) { //============================================================================ //如何一次性定义20个对象? Students[] stu=new Students[20];//声明一个Students类型的数组 for(int i=0;i<20;i++) { stu[i]=new Students();//给每一个stu对象赋值******************************* stu[i].number=i+1; stu[i].state=(int)(Math.random()*6+1); stu[i].score=(int)(Math.random()*100+1); } //问题一 System.out.println("第一问"); for(int i=0;i<20;i++) { if(stu[i].state==3) { stu[i].infoPrint(); System.out.println(); } } //问题二 System.out.println("第二问"); 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) { //如果需要换序,交换的是数组的元素,是一个Students对象!!!!! Students temp=new Students();//注意注意,不仅仅只是对成绩进行排序,还要把其他信息和成绩作为一个整体 temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } } } for(int i=0;i<stu.length;i++) { stu[i].infoPrint(); System.out.println(); } } } class Students{ int number; int state; int score; public void infoPrint() { System.out.print("学号:"+number+",年级:"+state+",成绩"+score); } }

浙公网安备 33010602011771号