我是靠谱客的博主 纯真帅哥,最近开发中收集的这篇文章主要介绍Java实验1-2【抽取幸运观众】前言一、任务介绍二、程序实现总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 前言
  • 一、任务介绍
    • 1.任务描述
    • 2.运行结果
    • 3.任务目标
    • 4.实现思路
  • 二、程序实现
    • 1.代码
    • 2.实验结果(包括输入数据和输出结果)![在这里插入图片描述](https://file2.kaopuke.com:8081/files_image/2023062210/48e2e51610ba4d42be5385293394317a.png)
  • 总结


前言

记录第二个Java实验


提示:以下是本篇文章正文内容,下面案例可供参考

一、任务介绍

1.任务描述

在一些节目活动中,经常会有抽取幸运观众环节。本案例要求编写程序实现幸运观众的抽取,在指定人群中随机抽取一名幸运观众。
案例功能要求如下:
(1) 从键盘输入3名观众。
(2) 存储观众姓名。
(3) 总览观众姓名。
(4) 随机选取一名观众,并打印出该观众姓名。

2.运行结果

任务运行结果如图2-1所示。
在这里插入图片描述

图2-1 运行结果

3.任务目标

 学会分析"抽取幸运观众"程序的实现思路。
 根据思路独立完成” 抽取幸运观众”的源代码编写、编译及运行。
 能够根据"抽取幸运观众"程序功能的不同,将功能封装到不同的方法中。
 能够使用数组解决多个观众姓名的存储问题。
 掌握方法和数组的使用。

4.实现思路

(1) 在存储观众姓名时,如果对每个观众都定义一个变量进行姓名存储,则会出现过多孤立的变量,很难一次性将全部数据持有,不好完成随机抽取的操作。此时,可以使用数组解决多个数据的存储问题。创建一个可以存储多个观众姓名的数组,这里我们设置数组的长度为3。
观众的姓名为String类型,定义字符串类型的数组存储观众姓名即可。关于String类型使用请注意以下几点:
1)java有String类型,String类型的数组则可以用来存放多个字符串,在此题中即表现为可以存储多个观众的姓名。有别于c,c没有字符串类型,c是通过字符数组来实现的,c中存放多个字符串可通过二维字符数组来实现。
2)c没有字符串类型,但是有相应的字符串处理函数,对于String类,java也提供了很多实用的方法,可分为静态方法和非静态方法两大类。
3)Java中的“+”号可用作字符串连接符,即字符串数据和其他数据做“+”运算,结果是字符串类型,如果两个字符串进行连接则形成一个新的字符串。

(2) 键盘输入观众姓名。将输入的姓名依次赋值给数组各元素,便可完成所有观众姓名的存储。通过使用Scanner类,能够从键盘输入中读取一个字符串。
Scanner sc=new Scanner(System.in);
String str=sc.next();
(3) 对数组进行遍历,打印出数组每个元素的值,即实现了对每个观众姓名的总览。此处在遍历时,可通过数组名.length获取当前数组的长度。
(4) 根据数组长度,可获取在数组长度范围内的随机索引,如这里我们的数组长度为3,所以获取的随机索引只能在0-2之间,通过随机索引再获取数组中的姓名,此观众即为幸运观众。获取随机索引可以使用通过java.util包中Random类的nextInt(int n)方法,此方法用于生成[0,n)区间的随机整数。
参考代码如下:

Random ra =new Random();
for (int i=0;i<30;i++)
{System.out.println(ra.nextInt(10)+1);}
以上代码将得到30个值在1-10int类型随机数

(5) "抽取幸运观众"明确分为了3个功能,如果将多个独立功能的代码写在一起,代码相对冗长,可读性差,这里可将相对独立的功能封装到不同方法中,然后在程序的main()方法中调用这3个方法即可。
先定义一个静态的addAudience()方法,此方法有一个String类型的数组audience作为参数,方法体内借助Scanner类通过键盘输入观众姓名,并将这些姓名依次存储到当前数组audience中。
再定义一个静态的printAudience ()方法,此方法有一个String类型的数组audience作为参数,通过遍历数组audience的方式用于实现总览观众姓名的功能。
最后定义一个静态的randomAudience ()方法,此方法有一个String类型的数组audience作为参数,用于实现随机点名,可通过Random类的nextInt(intn)方法先成随机索引,然后根据随机索引从数组中获取姓名,这个姓名就是幸运观众的姓名。
(6)在此给出main()方法,请自行实现addAudience()方法,printAudience ()方法,randomAudience ()方法。

二、程序实现

1.代码

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

public class Luckydraw{

	public static void main(String[] args) {
 	    	System.out.println("--------抽取幸运观众---------");
//存储观众姓名
String[] audience=new String[3]; 
//总览观众姓名
  	    	addAudience(audience);
//随机抽取一名幸运观众
	    	printAudience(audience);
//返回随机出来的名字,赋给randomName
 	    	String randomName=randomAudience(audience); 

  	    	System.out.println("随机抽取的幸运观众是:"+randomName);//输出结果
  		}
//存储观众姓名
	public static void addAudience(String[] audience) {
		Scanner sc = new Scanner(System.in);
        		for (int i = 0 ; i < audience.length ; i++){
            	System.out.println("请输入第" + (i + 1) + "位观众的姓名:");
            	audience[i] = sc.next();
		}	
  	}
//总览观众姓名
	public static void printAudience(String[] audience){
		for (int i = 0 ; i < audience.length ; i++){
            	System.out.println("第" + (i + 1) + "位观众姓名:" + audience[i]);
       		}
	}
//随机抽取一名幸运观众
	public static String randomAudience(String[] audience){
      		  int draw = new Random().nextInt(audience.length);
     		  return audience[draw];

		}
}

2.实验结果(包括输入数据和输出结果)在这里插入图片描述

总结

随机索引,通过java.util包中Random类的nextInt(int n)方法,生成[0,n)区间的随机整数,并且返回字符串即可实现随机数字到随机字符串抽取的转变。

最后

以上就是纯真帅哥为你收集整理的Java实验1-2【抽取幸运观众】前言一、任务介绍二、程序实现总结的全部内容,希望文章能够帮你解决Java实验1-2【抽取幸运观众】前言一、任务介绍二、程序实现总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部