学习java

Java数组猜数字游戏

2023-06-11 19:15:25 更新   浏览量: 897
本章完

学习其他章节 Java实战教程 Java基础教程 SpringBoot入门到精通

Java数组猜数字游戏

1.简单版本

动态生成5位1-20的随机数,存放到数组中,用户输入数字,如果与数组的数据相同,打印其索引与数字,最终打出生成的所有随机数

实例

package cn.qianduan.array;

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

public class arrayDmeo3 {
public static void main(String[] args) {
// 动态生成5位1-20的随机数,存放到数组中,用户输入数字,如果与数组的数据相同,打印其索引与数字,最终打出生成的所有随机数,并且降序排列。
// 1. 声明一个5位的动态数组
int arr[] = new int[5];
// 2.生产随机数
Random sc = new Random();
// 3.扫描用户输入的数字
Scanner guset = new Scanner(System.in);
// 4.生成的随机数放入数组中
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt(20) + 1;
}
// 5.进入while循环中输入数字
OUT:
while (true) {
System.out.println("请输入1-20的数字");
int guestData = guset.nextInt();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == guestData) {
System.out.println("恭喜您,您猜中了!" + "猜中的数字是" + arr[i]);
System.out.println("恭喜您,您猜中了!" + "猜中的数组索引是" + i);
break OUT; // 跳出最外层的循环
}
}
// for循环走完,如果没有猜中,继续输入
System.out.println("当前猜测的数据在数组中不存在,请您继续输入1-20的数字");
}
// 6.打印动态数组的数据
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
}

结果如下图所示:


2.升级版本

动态生成5位1-20的随机数,存放到数组中,用户输入数字,如果与数组的数据相同,打印其索引与数字,最终打出生成的所有随机数,并且按照降序排列。

实例

package cn.qianduan.array;

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

public class arrayDmeo3 {
public static void main(String[] args) {
// 动态生成5位1-20的随机数,存放到数组中,用户输入数字,如果与数组的数据相同,打印其索引与数字,最终打出生成的所有随机数,并且降序排列。
// 1. 声明一个5位的动态数组
int arr[] = new int[5];
// 2.生产随机数A
Random sc = new Random();
// 3.扫描用户输入的数字
Scanner guset = new Scanner(System.in);
// 4.生成的随机数放入数组中
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt(20) + 1;
}
// // 5.生成的数字,在数组中按降序排列,控制循环的轮数
// // 假设有5个数字,找到最大数字就需要比较4轮,0,1,2,3以此类推
 for (int j = 0; j < arr.length -1; j++) {
   for (int k = 0; k < arr.length - 1 - j; k++) {
      if (arr[k] < arr[k+1]) {
         int temp = arr[k+1];
         arr[k+1] = arr[k];
         arr[k] = temp;
     }

  }

 }
// 6.进入while循环中输入数字
OUT:
while (true) {
System.out.println("请输入1-20的数字");
int guestData = guset.nextInt();
for (int i = 0; i < arr.length; i++) {
if (arr[i] == guestData) {
System.out.println("恭喜您,您猜中了!" + "猜中的数字是" + arr[i]);
System.out.println("恭喜您,您猜中了!" + "猜中的数组索引是" + i);
break OUT; // 跳出最外层的循环
   }
  }
// for循环走完,如果没有猜中,继续输入
System.out.println("当前猜测的数据在数组中不存在,请您继续输入1-20的数字");
}
 // 7.打印动态数组的数据
 for (int i = 0; i < arr.length; i++) {
   System.out.print(arr[i] + "\t");
  }
 }
}


扫二微码
本章完
学习其他章节 Java实战教程 Java基础教程 SpringBoot入门到精通

最近更新 免责声明 关于我们

Copyright © 2004-2021 前端教程 qianduan.cn All Rights Reserved   陕ICP备2021014585号-1 陕公网安备 61012402000223号 前端教程

友情链接:  前端工具 前端插件