【如何编码实现一个随机点名器】
目录
随机点名器
任务描述
运行结果
任务目标
实现思路
实现代码
随机点名器
任务描述
编写一个随机点名器的程序,使其能够在全班同学中随机点中某一名同学的名字,随机点名器具备3个功能,包括存储全班同学的姓名,总览全班同学的姓名和随机点取其中一人的姓名。
运行结果
任务目标
-
学会分析"随机点名器"任务实现的逻辑思路。
-
能够独立完成"随机点名器"的源代码编写,编译及运行。
-
能够根据"随机点名器"程序功能的不同,将功能封装到不同的方法中。
-
掌握方法和数组的使用。
实现思路
①在存储同学姓名时,如果对每一个同学都定义一个变量进行姓名存储,则会出现过多孤立的变量,很难一次性将全部数据持有。此时,可以使用数组解决多个数据的存储问题。创建一个可以存储多个同学姓名的数组,打算存几个同学姓名就创建相应长度的数组。
②键盘输入同学姓名,将输入的姓名依次赋值给数组各元素,此时便存储了全班同学姓名。键盘输入需要使用Scanner类,以下的代码能够从键盘输入中读取一个字符串。
Scanner sc=new Scanner(System.in); String str=sc.next();
③对数组进行遍历,打印出数组中每个元素的值,即实现了对全班每一位同学姓名的总览。
④根据数组长度,获取随机索引,通过随机索引获取数组中的姓名,该姓名也就是随机的姓名。获取随机索引可以使用Random类中的nextInt(int n)方法。
⑤"随机点名器"明确分为了三个功能,如果将多个独立功能的代码写到一起,则代码太冗余,可以针对不同的功能将其封装到不同的方法中,将完全独立的功能分离出来,然后只需要在main()方法中调用即可。
实现代码
package 集合类; import java.util.Random; import java.util.Scanner; public class CallName { public static void addStudentName(String[] students){ //从键盘中输入多个同学的姓名存储到容器中 Scanner sc=new Scanner(System.in); for(int i=0;i<students.length;i++){ System.out.println("存储第"+(i+1)+"个姓名:"); //接收控制台录入的姓名字符串 students[i]=sc.next(); } } public static void printStudentName(String[] students){ //遍历数组,得到每个同学姓名 for(int i=0;i< students.length;i++){ String name=students[i]; System.out.println("第"+(i+1)+"个学生姓名:"+name); } } 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[3]; //存储全班同学的姓名 addStudentName(students); //总览全班同学的姓名 printStudentName(students); //随机点名其中一个人 String randomName=randomStudentName(students); System.out.println("被点名到的同学是:"+randomName); } }
⛵总结
通过这一个随机点名器可以练习使用数组解决多个数据的存储问题,可以让我们学会根据程序不同的功能,将其代码封装在不同的方法中,将完全独立的功能分离开来,减少代码的冗余量,提升自己编写代码的能力与水平。
如果这篇【文章】有帮助到你,希望可以点个赞👍,创作不易,如果有对【Java基础】【后端技术】、【数据结构】【Linux操作系统】感兴趣的小可爱,也欢迎关注 【LNORA】,对【算法设计与分析】感兴趣的可以免费订阅【算法设计与分析】的专栏,如果我的文章有帮助到你,麻烦来个一键三连奥,这将是对我莫大的鼓励,我将为大家带来更加优质的文章!我们可以一起进步,每天进步一点点,我将会给你带来巨大的【收获与惊喜】💝💝!