Java数组重修,猜数小游戏改进和打印正三角形
数组重修,猜数小游戏
要求:从键盘输入一个数,判断数组是否包含此数,运用随机数
我们可能会这样写
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();
}
}
}
输出结果:

Java数组重修,猜数小游戏改进和打印正三角形的更多相关文章
- 常用Java API之Ramdom--用代码模拟猜数小游戏
常用Java API之Ramdom Ramdom类用来生成随机数字.使用起来也是三个步骤: 1.导包 import java.util.Random; 2.创建 Random r = new Rand ...
- jsp-简单的猜数小游戏
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...
- Python猜数小游戏
使用random变量随机生成一个1到100之间的数 采集用户所输入的数字,如果输入的不符合要求会让用户重新输入. 输入符合要求,游戏开始.如果数字大于随机数,输出数字太大:如果小于随机数,输出数字太小 ...
- 【Python】猜数小游戏
有点沙雕 temp=input("猜猜我心里想的是哪个数字?") guess=int (temp) if guess==8: print("你是我肚里的蛔虫么?" ...
- 【Python】猜数小游戏(文件操作)
人生苦短,我用Python 关键词 1.多用户 2.字典记录所有成绩 3.每次游戏轮数&总游戏次数&平均每次游戏需要多少轮 字典Dictionary.列表List.元组Tuple差异化 ...
- 带提示范围的猜数小游戏--python
import random random_number = random.randint(1, 99) print(random_number) start_data = 1 end_data = 9 ...
- Java课程设计——猜数游戏(201521123111 陈伟泽)
Java课程设计--猜数游戏(201521123111 陈伟泽) 1.团队课程设计博客链接 博客作业--猜数游戏 2.个人负责模块或任务说明 Answer:一些基础界面的构造,排行榜的构造,用文件录入 ...
- Java基础知识强化之IO流笔记70:Properties练习之 如何让猜数字小游戏只能玩5次的案例
1. 使用Properties完成猜数字小游戏只能玩5次的案例: 2. 代码实现: (1)猜数字游戏GuessNumber: package cn.itcast_08; import java.uti ...
- java猜数字小游戏
/* * * 猜数字小游戏 * * 先由系统生成一个2-100之间的随机数字, * * 然后捕获用户从控制台中输入的数字是否与系统生成的随机数字相同, * * 如果相同则统计用户所猜的次数,并给出相应 ...
随机推荐
- mysql_存储引擎层-innodb buffer pool
buffer pool 是innodb存储引擎带的一个缓存池,查询数据时,首先从内存中查询 数据如果内存中存在的话直接返回. innodb buffer pool 和 qcache 的区别:Qcach ...
- python 网络编程 代码版
写博客最怕写什么? 系统原理,框架内核... #!/usr/bin/env python # -*- coding:utf-8 -*- import socket sk = socket.socket ...
- 003-js-MD5
源码 /* global define */ ;(function ($) { 'use strict' /* * Add integers, wrapping at 2^32. This uses ...
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_6_练习_转换文件编码
- 修改JAVA_HOME失效
在修改JDK的安装目录的情况下会出现失效的时候,因为jdk在安装的时候自己在path中添加了 C:\ProgramData\Oracle\Java\javapath 这个路径. 解决: 删除 path ...
- 20190925 On Java8 第二十二章 枚举
第二十二章 枚举 基本 enum 特性 创建 enum 时,编译器会为你生成一个相关的类,这个类继承自 Java.lang.Enum. valueOf() 是在 Enum 中定义的 static 方法 ...
- Apache solr 6.6.0安装
Apache solr 6.6.0安装 最近使用了Apache solr搜索引擎框架,solr是基于lucene的一个搜索服务器,lucene也是Apache的一个开源项目:对于学习搜索引擎来说,这个 ...
- BP神经网络反向传播之计算过程分解(详细版)
摘要:本文先从梯度下降法的理论推导开始,说明梯度下降法为什么能够求得函数的局部极小值.通过两个小例子,说明梯度下降法求解极限值实现过程.在通过分解BP神经网络,详细说明梯度下降法在神经网络的运算过程, ...
- [Bzoj3262]陌上花开(CDQ分治&&树状数组||树套树)
题目链接 题目就是赤裸裸的三维偏序,所以用CDQ+树状数组可以比较轻松的解决,但是还是树套树好想QAQ CDQ+树状数组 #include<bits/stdc++.h> using nam ...
- BZOJ1185[HNOI2007] 最小矩形覆盖(旋转卡壳)
BZOJ1185[HNOI2007] 最小矩形覆盖 题面 给定一些点的坐标,要求求能够覆盖所有点的最小面积的矩形,输出所求矩形的面积和四个顶点的坐标 分析 首先可以先求凸包,因为覆盖了凸包上的顶点,凸 ...