zoukankan      html  css  js  c++  java
  • 对象数组题目

    * 对象数组题目:
    * 定义类Student,包含三个属性:学号number(int),年级state(int),成绩 score(int)。
    * 创建20个学生对象,学号为1到20,年级和成绩都由随机数确定。
    * 问题一:打印出3年级(state值为3)的学生信息。
    * 问题二:使用冒泡排序按学生成绩排序,并遍历所有学生信息

    本题代码实现如下:

    public class OOP1 {

      public static void main(String[] args) {
      //创建Student的对象
      Student[] stus = new Student[20];
      for (int i = 0; i < stus.length; i++) {
        //创建二十个学生对象
        stus[i] = new Student();
        //创建学号
        stus[i].number = (i + 1);
        //使用随机数创建年级[1,6]
        stus[i].state = (int)(Math.random()*(6-1+1)+1);
        //使用随机数创建成绩[0-100]
        stus[i].score = (int)(Math.random()*(100+1));
      }
      //创建对象
      OOP1 test = new OOP1();
      //调用方法,打印学生信息
      test.printAll(stus);
      System.out.println("**************************************");
      //调用方法printState,打印某一个年级的学生信息
      test.printState(stus, 5);
      System.out.println("**************************************");
      //调用方法Sort,对成绩进行冒泡排序
      test.Sort(stus);
      test.printAll(stus);//打印
    }
    /**
    * 遍历stus
    * @param stus
    */
    public void printAll(Student[] stus){
      for (int i = 0; i < stus.length; i++) {
        System.out.println("学号为:"+stus[i].number+"年级为:"+
          stus[i].state+"成绩为:"+stus[i].score);
      }
    }
    /**
    * 打印某一个年级的学生信息
    * @param stus
    * @param s 需要打印的年级
    */
    public void printState(Student[] stus, int s){
      for (int i = 0; i < stus.length; i++) {
        if(stus[i].state == s){
          System.out.println("学号为:"+stus[i].number+"年级为:"+
            stus[i].state+"成绩为:"+stus[i].score);
        }
      }
    }
    /**
    *冒泡排序
    * @param stus
    */
    public void Sort(Student[] stus){
      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;
          }
        }
      }
    }

    }

    class Student{
      int number;//学号
      int state;//年级
      int score;//成绩

    }

  • 相关阅读:
    Ubuntu配置sublime text 3的c编译环境
    ORA-01078错误举例:SID的大写和小写错误
    linux下多进程的文件拷贝与进程相关的一些基础知识
    ASM(四) 利用Method 组件动态注入方法逻辑
    基于Redis的三种分布式爬虫策略
    Go语言并发编程总结
    POJ2406 Power Strings 【KMP】
    nyoj 会场安排问题
    Server Tomcat v7.0 Server at localhost was unable to start within 45 seconds. If the server requires more time, try increasing the timeout in the server editor.
    Java的String、StringBuffer和StringBuilder的区别
  • 原文地址:https://www.cnblogs.com/zhou-x/p/10877605.html
Copyright © 2011-2022 走看看