打印如下的菜单并调用随机点名器的相应方法完成菜单功能。


要求:
定义一个学生类,包含私有的姓名、学号两个成员变量;
定义一个随机点名器类,具有打印学生名单、随机点名等功能:
public void printName(Students[] stu) {
// 打印全体学生名单
}
public void randomCall(Students[] stu) {
// 利用随机函数,输出随机点到的某同学姓名
}
在测试类中打印菜单,创建具有若干名学生的学生类数组,根据用户的选项调用随机点名器的相应方法完成菜单功能,仅当输入0时结束程序。

public class Students {private String name;private String number;public Students(String name,String number) {this.name=name;this.number=number;}public String getName() {return name;}public String getNumber() {return number;}
}
public class Random{public void printName(Students[] stu) {int n=stu.length;int i;System.out.println("姓名\t学号");for(i=0;i<n;i++) {System.out.println(stu[i].getNumber()+"\t"+stu[i].getName());}}public void randomCall(Students[] stu) {Random rd=new Random();int x=rd.nextInt(stu.length);System.out.println(stu[x].getName());}
}
public class RandomTest {public static void main(String[] args) {// 打印菜单System.out.println("[1] 打印全体同学名单");System.out.println("[2] 随机点名");System.out.println("[0] 退出");// 创建对象RandomDemo rdd=new RandomDemo();Students[] stu=new Students[5];stu[0]=new Students("小芳","2020001");stu[1]=new Students("小强","2020002");stu[2]=new Students("小伟","2020003");stu[3]=new Students("小新","2020004");stu[4]=new Students("小牟","2020005");// 菜单功能Scanner scan=new Scanner(System.in);          a: while(true) {System.out.println("请选择菜单:");int k=scan.nextInt();switch(k) {case 0:break a;case 1: rdd.printName(stu);break;case 2:rdd.randomCall(stu);break;default:System.out.println("输入菜单编号错误!");}}System.out.println("程序结束。"); }
}

类的封装与对象数组-随机点名器相关推荐

  1. 【Java3】封装,对象数组,构造器,this/super/继承,抽象

    文章目录 1.封装:数据抽象 2.对象数组:先new 3.构造器:不写也有无参构造 3.1 数组工具类:return 3.2 冒泡排序应用:sort,temp 4.this/super/继承:多重,匿 ...

  2. C++远征之封装篇——对象数组,对象成员

    一.对象数组 (1)如下,delet [ ]p时,会调用三次析构函数 (2)细节 实例化对象数组时,每一个对象的构造函数都会被执行. 销毁对象数组时,每一个对象的析构函数都会被执行. 二.对象成员 1 ...

  3. C++实验6 对象数组

    实验六 对象数组 1 实验目的 (1)学习如何使用数组名作为函数的参数,通过传数组的方式,在被调用 函数中访问主调函数中的多个对象的方法. (2)学习如何在类中内嵌对象数组成员变量. (3)学习对象数 ...

  4. Java基础知识——对象数组

    对象数组Object[].对象数组也是一种引用传递,放对象的数组. 1.设计一个学生类.创建一个学生对象数组,保存十个学生对象 2.设计Test类.设计两个成员方法用来统计学生对象数组中男女生人数以及 ...

  5. C++远征之封装篇——类和封装、实例化和对象成员访问

    一.封装篇的学习内容 数据成员  成员函数 构造函数  析构函数 对象复制  对象赋值 对象数组  对象指针 this指针 二.类与封装 三.实例化和对象成员访问 (1)从栈中实例化对象 (2)从堆中 ...

  6. 封装自定义的redis切库工具类ByteArrayRedisTemplate,读取byte数组反序列化成List<Object>

    封装自定义的redis切库工具类ByteArrayRedisTemplate,读取byte数组反序列化成List<Object>(使用lettuce连接池) 代码环境 框架:springb ...

  7. java中常用API、Scanner类、匿名对象、Random类、ArrayList类、对象数组

    java中常用API: API:Application Programming Interface,应用程序编程接口.Java API是JDK中提供给我们使用的类的说明文档.这些类将底层的代码实现封装 ...

  8. 【JAVA SE】第六章 面向对象、对象和类以及封装

    第六章 面向对象.对象和类以及封装 文章目录 第六章 面向对象.对象和类以及封装 一.面向对象 1.概念 2.面向对象的三大特征 二.对象和类 1.基本概念 2.Java中的对象 3.Java 中的类 ...

  9. 【java笔记】类与对象(定义,创建,使用,标准的类,对象数组)

    面向对象的特征: 封装,继承,多态 类:一组相关属性(数据成员)和行为(成员方法)的集合.抽象出事物的属性和行为来描述事物. 对象:一类事物的具体体现. 类和对象的关系: 类的定义: 例:定义一个学生 ...

最新文章

  1. MAC修改python和pip版本
  2. APM - 零侵入监控Http服务
  3. 阿里2500万美元战略投资“神工007”,天猫全面布局建材家居新零售
  4. 算法那么重要,你还不会?ACM金牌选手教你学习数据结构与算法
  5. 云原生那些顶级开源项目,你都用过哪些?
  6. mysql数据库root密码在哪个文件中_mysql - 本地数据库忘记了root用户的密码
  7. spring boot + vue 前后端分离时间戳转换为 yyyy:MM:dd HH:mm:ss格式
  8. python可用编程模块规模多大_哪些Python模块可用于编程竞赛?
  9. caffe编译关于imread问题的解决
  10. 电风扇计算机控制系统,电脑控制型电风扇电路原理与检修
  11. 2017年真题精选(六)
  12. 怎么扩展服务器内存?
  13. 解决Chrome、Safair、Webkit等内核浏览器默认文本域和文本
  14. revit二开之获取嵌套族中的子族(过滤族)
  15. 基于微信小程序的宠物医院诊所小程序源码
  16. There is a problem with this Windows Installer package 卸载软件提示
  17. python 网络爬虫
  18. python3实现链表的基础操作
  19. 人工智能换脸pythonapp_如何用小200行Python代码做一个换脸程序?
  20. nginx+php 上传含有php脚本的木马图片文件的漏洞解决

热门文章

  1. [GO语言基础] 四.算术运算、逻辑运算、赋值运算、位运算及编程练习
  2. html显示和隐藏文字特效,14款震撼人心的HTML5文字特效
  3. 优秀开源项目推荐之--文档库bookstack
  4. Thinkpad Intel 5100无线网卡间歇性掉线问题解决方案
  5. QQ\微信等聊天记录备份与恢复
  6. Google GMS Crash 优化方案
  7. 【STM32】RTC实时时钟,步骤超细详解,一文看懂RTC
  8. 已知函数fx=sin(wx+φ)_已知函数fx=Asin(wx+φ) (x∈R,A0,w0,0
  9. 沈航计算机学院杨华,考研榜样经验分享之电子信息工程学院篇-沈航学生处
  10. 浅谈云计算和大数据技术