需求:
开发一个幸运小游戏,游戏规则如下:
游戏后台随机生成1-20之间的五个数(无所谓是否重复),然后让大家来猜数字:
① 未猜中提示:"未命中",并继续猜测
② 猜中提示:"运气不错,猜中了",并输出该数据第一次出现的位置,且输出全部5个数据,最终结束本游戏.
分析:
(1) 随机生成5个1-20之间的数据存储起来==>使用数组
(2) 定义一个死循环,输入数据猜测,遍历数组,判断数据是否在数组中,如果在,进行对应提示并结束死循环;如果没有猜中,提示集训猜测直到猜中为止.
代码展示:
package com.taytay.Demo;
import java.util.Random;
import java.util.Scanner;
public class Test3 {
public static void main(String[] args) {
//1.定义一个动态初始化数组的数据存储5个1-20之间的数据
int[] data = new int[5];
//2.动态的生成5个1-20之间的随机数并存入到数组中去
Random r = new Random();
for(int i = 0; i < data.length; i++){
//i = 0 1 2 3 4 5
data[i] = r.nextInt(bound: 20) + 1;
}
//3.定义一个死循环让用户进行猜测
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请输入一个1-20之间的整数进行猜测: ");
int guessData = sc.nextInt();
//4.遍历数组中的每个数据,看是否有数据与猜测的数据相同,相同代表猜中了并给出提示
OUT:
for(int i = 0; i < data.length; i++){
if(data[i] == guessData){
System.out.println("运气不错,猜中了!您猜中的数据索引是: " + i );
break OUT;//结束了整个死循环,代表游戏结束了!
}
}
System.out.println("当前猜测的数据在数组中不存在,请重新猜测!");
}
//5.输出数组的全部元素,让用户看到自己确实猜中了
for(int i = 0; i < data.length; i++){
System.out.print(data[i] + "\t");
}
}
运行截图:
版权声明:本文为weixin_52309279原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。