• 面向对象(上)练习一


     1 package day1_2;
     2 
     3 /**
     4  * 定义类Student,包含三个属性,学号number(int),年级state(int),分数score(int)
     5  * 创建20个学生对象,学号为1-20号,年级[1,6]和分数[0,100]随机数确定
     6  * 问题一:打印出3年级学生的信息
     7  * 问题二:将学生的成绩按照冒泡排序,并打印学生信息
     8  */
     9 
    10 public class ObjectExer {
    11     public static void main(String[] args) {
    12         //声明一个Student类型数组
    13         Student[] students = new Student[20];
    14         for (int i = 0; i < students.length; i++) {
    15             //每个数组元素引用一个学生对象
    16             students[i] = new Student();
    17             //给每个学生对象属性赋值
    18             //学号[1,20]
    19             students[i].number = i+1;
    20             //年级[1,6]
    21             //Math.random()  返回值double类型  [0,1)
    22             //使用公式 (int)(Math.random()*(max-min+1)+min)
    23             students[i].state = (int)(Math.random()*(6-1+1)+1);
    24             //成绩[0,100]
    25             //Math.random()  返回值double类型  [0,1)
    26             //方式一
    27             students[i].score = (int)(Math.random()*(100-0+1));
    28             //方式二
    29             //Math.round(double n)  返回值long类型  对n进行四舍五入
    30             //students[i].score = (int)Math.round(Math.random()*100);
    31         }
    32         //遍历学生信息
    33         for (int i = 0; i < students.length; i++) {
    34             System.out.println(students[i].info());
    35         }
    36 
    37         System.out.println("***************");
    38         //打印出3年级学生的信息
    39         for (int i = 0; i < students.length; i++) {
    40             if(students[i].state == 3){
    41                 System.out.println(students[i].info());
    42             }
    43         }
    44 
    45         System.out.println("**********************");
    46         //将学生的成绩按照冒泡排序,并打印学生信息
    47         for (int i = 0; i < students.length - 1; i++) {
    48             for (int j = 0; j < students.length-i-1; j++) {
    49                 if (students[j].score > students[j+1].score) {
    50                     //注意:是交换学生的位置,而不是交换学生的成绩
    51                     Student tmp = students[j];
    52                     students[j] = students[j + 1];
    53                     students[j+1] = tmp;
    54                 }
    55             }
    56         }
    57 
    58         //遍历排序后的学生数组
    59         for (int i = 0; i < students.length; i++) {
    60             System.out.println(students[i].info());
    61         }
    62 
    63 
    64     }
    65 }
    66 
    67 class Student{
    68     int number;//学号
    69     int state;//年级
    70     int score;//成绩
    71 
    72     //显示学生信息
    73     public String info() {
    74         return "学号:" + number + ",班级:"+ state + ",分数:" + score;
    75     }
    76 }
  • 相关阅读:
    Practice II 字符串
    Euleriar Path 入门
    2-SAT 入门
    Practice I 图论
    游戏中寻找学习JAVA的乐趣之坦克大战系列5-坦克的动态参数
    JQuery教程:实现轮播图效果
    HTML表格应用
    菜鸟Vue学习笔记(三)
    Java成神路上之设计模式系列教程之一
    JVM垃圾回收机制之对象回收算法
  • 原文地址:https://www.cnblogs.com/zui-ai-java/p/14224117.html
Copyright © 2020-2023  润新知