Java语言 随机点名程序
任务
编写一个随机点名的程序,使其能够在全班同学中随机点中某一名同学的名字。随机点名器具备3个功能,包括存储全班同学姓名、总览全班同学姓名和随机点取其中一人姓名。比如随机点名器首先分别向班级存入小明、小红和小兰这3位同学的名字,然后总览全班同学的姓名,打印出这3位同学的名字,最后在这3位同学中随机选择一位,并打印出该同学的名字,至此随机点名成功。
任务实现
(1)在存储同学姓名时,如果对每一个同学都定义一个变量进行姓名存储,则会出现过多孤立的变量,可以使用数组解决多个数据的存储问题。创建一个可以存储多个同学姓名的数组。 (2)键盘输入同学姓名,将输入的姓名依次赋值给数组的元素。
Scanner sc = new Scanner(System.in); String str=sc.nextInt();
(3)对数组进行遍历,即可实现总览全班同学的姓名。 (4)根据数组长度,获取随机索引。
public int nextInt(int n)
(5)“随机点名器”明确分为3个功能,如果将多个独立功能的代码写在一起,则代码冗长,可读性差,可以针对不同的功能将其封装到不同的方法中,将完整独立的功能分离出来,在main()方法中调用3个方法即可。
代码实现
import java.util.Random; import java.util.Scanner; public class name { public static void main(String[] args){ System.out.println("----------随机点名器----------"); String[] s =new String[3]; add(s); print(s); rand(s); } public static void add(String[] a){ Scanner sc= new Scanner(System.in); for(int i=0;i<a.length;i++){ System.out.println("存储第"+(i+1)+"个同学的姓名:"); a[i]=sc.next(); } } public static void print(String[] a){ for(int i=0;i<a.length;i++){ System.out.println("第"+(i+1)+"个同学的姓名:"+a[i]); } } public static void rand(String[] a){ Random r = new Random(); int i = r.nextInt(a.length); System.out.println("被点名的是:"+ a[i]); } }