目案例猜数字游戏
需求
开发一个幸运小游戏,游戏规则如下:
游戏后台随机生成1-20之间的5个数(无所谓是否重复) ,然后让大家来猜数字:
➢未猜中提示:“未命中”,并继续猜测
➢猜中提示: “运气不错,猜中了”,并输出该数据第- -次出现的位置,且输出全部5个数据,最终结束本游戏。
分析
①随机生成5个1-20之间的数据存储起来---> 使用数组
②定义一个死循环,输入数据猜测,遍历数组,判断数据是否在数组中,如果在,进行对应提示并结束死循环;如果没有猜中,提示继续猜测直到猜中为止。
1.猜数字游戏的实现步骤?
①动态初始化数组, 存入5个随机的1-20之间的数据
②定义一个死循环,不断的猜数据,遍历数组,判断数据是否在数组中,如果在,进行
总结
对应提示并结束死循环;如果没有猜中,提示继续。
package com.ywyc.demo; import java.util.Random; import java.util.Scanner; public class test1 { public static void main(String[] args) { //五个1到20之间随机数,让用户猜测,猜中要提示猜中,还有输出该数组在数组中第一次出现的索引,并打印数组内容出来 //没有猜中继续 //1、定义一个动态初始化的数组存储五个随机的1-20之间的数据 int[] date = new int[5]; //2、动态生成五个1-20之间的随机数并存入到数组中 Random r = new Random(); for(int i = 0;i < date.length;i++) { // i = 0 1 2 3 4 date[i] = r.nextInt(20) + 1; } //3、使用一个死循环让用户猜测 Scanner sc = new Scanner(System.in); OUT: while (true){ System.out.println("请你输入一个1-20之间的整数进行猜测:"); int guessDate = sc.nextInt(); //4、遍历数组中的每个数据,看是否数据与猜测的数据相同,相同代表猜中了,给出提示 for(int i = 0;i < date.length ;i++){ if(date[i] == guessDate){ System.out.println("你以猜中了该数据,运气不错!你猜中的数组索引是:" + i); break OUT; //结束了整个死循环,代表游戏结束 } } System.out.println("当前猜测的数在数组中不存在,请重新猜测!"); } //5、输出数组的全部元素,让用户看到确实猜中了 for(int i = 0 ;i < date.length ;i ++){ System.out.println(date[i] + "\t"); } } }