任务2-6 抽取幸运观众

目录

题目

分析

代码

运行结果


题目

在一些节目活动中,经常会有抽取幸运观众环节。本案例要求编写程序实现幸运观众的抽取,在指定人群中随机抽取一名幸运观众。

案例功能要求如下:

(1) 从键盘输入3名观众。

(2) 存储观众姓名。

(3) 总览观众姓名。

(4) 随机选取一名观众,并打印出该观众姓名。

分析

(1) 在存储观众姓名时,如果对每个观众都定义一个变量进行姓名存储,则会出现过多鼓励的变量,很难一次性将全部数据持有。此时,可以使用数组解决多个数据的存储问题。创建一个可以存储多个观众姓名的数组,这里我们设置数组的长度为3。

(2) 键盘输入观众姓名。将输入的姓名依次赋值给数组各元素,此时便存储了所有观众姓名。键盘输入需要使用Scanner类,以下代码能够从键盘输入中读取一个字符串。

Scanner sc=new Scanner(System.in);

String str=sc.next();

(3) 对数组进行遍历,打印出数组每个元素的值,即实现了对每个观众姓名的总览。

(4) 根据数组长度,获取随机索引,这里我们的数组长度为3,所以获取的随机索引只能在0-2之间,通过随机索引获取数组中的姓名,该姓名也就是随机的姓名。获取随机索引可以使用Random类中的nextInt(int n)方法。

(5) "抽取幸运观众"明确第分为了3个功能,如果将多个独立功能的代码写在一起,代码相对冗长,可以针对不同的功能将其封装到不同的方法中,将完整独立的功能分离出来,然后只需要在程序的main()方法中调用这3个方法即可。

代码

import java.util.Random;
import java.util.Scanner;

public class Lucky {
	
	static String[] arr = new String[3];
	static Scanner sc = new Scanner(System.in);
    public static void main(String[] args) {
    	System.out.println("------------抽取幸运观众-----------");
        add();
        show();
        String name = luck();
        System.out.println("随机抽取的幸运观众是:" + name);
        sc.close();
    }

    public static void add() {
        for (int i = 0; i < arr.length; i++) {
            System.out.println("存储第" + (i + 1) + "个姓名:");
            String audienceName = sc.next();
            arr[i] = audienceName;
        }
    }
    
    public static void show() {
        for (int i = 0; i < arr.length; i++) {
            System.out.println("第" + (i + 1) + "个观众姓名:" + arr[i]);
        }
    }
    
    public static String luck() {
        int idx = new Random().nextInt(arr.length);
        return arr[idx];
    }
}

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值