java随机点名器的思路_Java实现简单的随机点名器
实现思路
1、在存储同学姓名时,如果每一个同学都定义一个变量进行姓名存储,则会出现过多孤立的变量,很难一次性将全部数据持有。此时可以使用数组解决多个数据的存储问题。创建一个可以存储多个同学姓名的数组,打算存几个同学姓名就创建相应长度的数组。
2、键盘输入同学姓名,将输入的姓名一次赋值给数组各个元素,此时便存储了全班同学姓名。键盘输入需要使用Scanner类,以下代码能够从键盘输入中读取一个字符串:
Scanner sc = new Scanner(System.in);
String str = sc.next();
3、对数组进行遍历,打印出数组中每个元素的值,即实现了对全班每位同学姓名的总览。
4、根据数组长度,获取随机索引,例如数组长度为3,则获取的随机索引只能在0~2之间,通过随机索引获取数组中的姓名,该姓名也就是随机的姓名。获取随机索引可以使用Random类中的nextInt(int n)方法。
5、“随机点名器”明确的分为三个功能,如果将多个独立功能的代码写到一起,则代码相对冗长(代码很多的意思),可以针对不同的功能将其封装到不同的方法中,将完整独立的功能分离出来,然后只需要在程序的main()方法中调用即可。
实现代码
package com.java.task.code;
import java.util.Random; //导入包,引用包
import java.util.Scanner; //导入包,引用包
public class CallName {
/**
* 1.储存全班同学姓名
* 创建一个储存多个同学姓名的容器(数组)
* 键盘输入每一个同学的姓名,储存到容器中(数组)
*/
//创建一个储存多个学生姓名的容器(数组)
public static void addStudentName (String[] students){
//键盘输入多个同学姓名储存到容器中
Scanner sc = new Scanner (System.in);
//定义一个变量i,使其i的大小小于students的字符串长度
for (int i = 0; i < students.length; i++){
//打印i值并加一
System.out.println("储存第"+(i+1)+"个姓名:");
//接收控制台录入的姓名字符串
students[i] = sc.next();
}
}
/**
* 2.总览全班学生姓名
*/
//创建一个同时显示所有学生的数组
public static void printStudentName (String[] students){
for (int i = 0;i < students.length; i++){
//遍历数组,得到每个同学姓名
String name = students[i];
//打印每个学生的姓名
System.out.println("第"+(i+1)+"个学生姓名:"+name);
}
}
/**
* 3.随机点名其中一人
*/
//创建一个对前面输入所有学生随机点名其中一个
public static String randomStudentName (String[] students){
//根据数组长度获取随机索引
int index = new Random().nextInt(students.length);
//通过随机索引从数组中获取姓名
String name = students[index];
//输出随机点到的姓名
return name;
}
public static void main(String[] args) {
System.out.println("--------随机点名器--------");
//创建一个可以储存多个同学姓名的容器(数组)
String[] students = new String[6];
//储存全班同学姓名
addStudentName(students);
//总览全班同学姓名
printStudentName(students);
//随机点名其中一人
String randomName = randomStudentName(students);
System.out.println("被点到名的同学是:" + randomName);
}
}
运行结果
代码可以复制,建议个人手打一遍,这样能加深印象,更加的利于学习,代码不是重点,重点是自己学到了方法,不辜负青春、不辜负她,加油。
java随机点名器的思路_Java实现简单的随机点名器相关推荐
- java随机点名器的思路_JAVA基础 随机点名器案例
1.1 案例介绍 随机点名器,即在全班同学中随机的找出一名同学,打印这名同学的个人信息. 此案例在我们昨天课程学习中,已经介绍,现在我们要做的是对原有的案例进行升级,使用新的技术来实现. 我 ...
- 编写一个随机抽奖程序php,基于PHP实现简单的随机抽奖小程序
摘要:一个抽奖小程序,概论可控,也可某个奖品在前端显示,而程序中根本不可能获得!把所有的概率x10后相加起来,新数组中每项的值等于它前几个的和加上它本身.然后随即生成一个0到最大数之间的一个数,通过循 ...
- java表盘时钟的设计思路_java代码实现时钟
实现效果如图: Java代码: 文件一:ClockPanel.java importstaticjava.util.Calendar.HOUR;importstaticjava.util.Calend ...
- java设计图形界面的基本思路_java图形界面之布局设计
在界面设计中,一个容器要放置许多组件,为了美观,为组件安排在容器中的位置,这就是布局设计.java.awt中定义了多种布局类,每种布局类对应一种布局的策略.常用的有以下布局类: •FlowLayout ...
- java黄金分割数的解题思路_java 实现黄金分割数的示例详解
黄金分割数 0.618 与美学有重要的关系.舞台上报幕员所站的位置大约就是舞台宽度的 0.618 处, 墙上的画像一般也挂在房间高度的 0.618 处,甚至股票的波动据说也能找到 0.618 的影子- ...
- java实现红包要多少钱_JAVA实现简单抢红包算法(模拟真实抢红包)
闲来无事,最近项目需求要写出用户登录首页来发现金红包,没有限额.我就自己稍微计算了一下如果有限额该怎么写.觉得这样与微信红包差不多.等项目需求完成以后.正好来博客贴一下我自己写的拆红包算法.个人觉得这 ...
- java服务器向客户端发消息_java一个简单的客户端向服务端发送消息
java一个简单的客户端向服务端发送消息 客户端代码: package com.chenghu.tcpip; import java.io.IOException; import java.io.Ou ...
- java 二嗨租车项目_java实现简单租车系统
本文实例为大家分享了java实现租车系统demo,供大家参考,具体内容如下 这也是参考了mooc上的一个基础项目,所以拿来写一下.不过我的demo肯定有不好或者错误的地方,欢迎指出 1.项目功能/需求 ...
- java翻译成c 的工具_Java 实现简单的聊天工具C/S(GUI可选)(翻译)
感谢pbl提供的教程, 英文原帖连接 你会发现很多聊天室程序都涉及以下的技术: TCP 连接 多线程 大多数时候有界面 今天为大家介绍一个简单的聊天程序,从中你可以找到点儿灵感.当你编写程序的时候遇到 ...
最新文章
- 为什么2G/3G和AI擦不出火花?他们用这篇论文告诉你答案
- android 上传到了maven,但是报错找不到jar
- vmware 12.5.3 linux,vmware12如何安装linux|opensuse42.3系统安装教程
- Python语言编程之LEGB变量作用域法则
- centos7安装ansible
- 最受 IT 公司欢迎的 30 款开源软件
- SAP 电商云 Spartacus UI Proxy Facade 的一个实际例子
- freeBSD的vi
- 手册如何看运放的db_如何处理金属离子与配体之间的配位键?
- MOSE:针对配置管理服务器的后渗透工具
- 3.2、如何通过JLINK下载程序(附JLINK驱动)
- FastReport报表控件使用技巧总结
- raise notice oracle,openGauss 循序渐进:通过 raise notice 模拟 Oracle 的 DBMS_OUTPUT
- java Base64编解码
- access用姓名字段统计人数_用Access统计新生数据
- Flutter——打包Windows桌面应用(流程)
- 房贷还款方式等额本息等额本金比较和这两种提前还款的区别
- 计算机毕设Python+Vue学生社团管理系统(程序+LW+部署)
- 2020 China Collegiate Programming Contest Weihai Site H.Message Bomb
- 什么叫明文,什么叫密文、密码、密钥,为什么在数据库里不采用明文保存密码?