首页 技术 正文
技术 2022年11月9日
0 收藏 515 点赞 4,700 浏览 1635 个字

数组重修,猜数小游戏

要求:从键盘输入一个数,判断数组是否包含此数,运用随机数

我们可能会这样写

import java.util.Random;
import java.util.Scanner;import org.junit.Test;/**
* 数组示例:从键盘输入一个数,判断数组是否包含此数
* @author fei
*/
public class GuessNum {@Test
public void guessNum() {
Random rand = new Random();// 产生随机数的工具,生成的是伪随机数int[] sysNums = new int[5];// 准备长度为5的数组
int len = sysNums.length;// 保存数组的长度for (int i = 0; i < len; i++) {// for循环为数组元素赋值
// 生成一个10以内的数并赋值给数组元素
sysNums[i] = rand.nextInt(10);
}System.out.println("请输入一个你认为数组中存在的数:(10以内)");
Scanner input = new Scanner(System.in);// 接收用户的输入
int userNum = input.nextInt();// 遍历数组,判断猜的数字是否存在于数组
for (int temp : sysNums) {
if (userNum == temp) {
System.out.println("恭喜,猜对了!");
break;
} else {
System.out.println("很遗憾,没猜对");
}
}
}// guessNum}

输出结果:

情况一:猜错

情况二:猜对了

我们看到,不管猜对,还是猜错,程序输出好多次提示信息,这不是我们想要的结果。

下面是方法改进后的代码

@Test
public void guessNumPlus() {
Random rand = new Random();// 定义数组并循环随机赋值
int[] sysNums = new int[5];
int len = sysNums.length;
for (int i = 0; i < len; i++) {
sysNums[i] = rand.nextInt(5);
}// 提示并接收玩家输入
System.out.println("请输入一个你认为数组中存在的数:(10以内)");
Scanner input = new Scanner(System.in);
int userNum = input.nextInt();// 循环遍历判断数组是否包含玩家猜的数,并以isRight标记是否猜中
boolean isRight = false;
for (int temp : sysNums) {
if (userNum == temp) {
isRight = true;
break;
}
}// 根据标记输出相应提示信息
if (isRight) {
System.out.println("恭喜,猜对了!");
} else {
System.out.println("很遗憾,没猜对");
}
}// guessNumPlus

输出结果:

情况一:猜对

情况二:猜错

终于ok,一切正常,舒服了

当然,还有很多改进的地方,比如给几次机会,加上循环啥的

数组重修,打印三角形

import org.junit.Test;/**
* i数组示例:打印正三角形
* @author fei
*/
public class PrintTriangle { @Test
public void printTriangle() {
// 定义一个字符数组
char[] chars = { 'A', 'B', 'C', 'D', 'E', 'F', 'G' };
int len = chars.length; // 外循环控制行数
for (int i = 1; i <= len; i++) {
for (int j = i; j < len; j++) {
// 输出空格
System.out.print(" ");
}
for (int j = 1; j <= i * 2 - 1; j++) {
System.out.print(chars[i - 1]);
}
System.out.println();
}
}}

输出结果:

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,489
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,290