数组重修,猜数小游戏

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

我们可能会这样写

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

输出结果:

情况一:猜错

情况二:猜对了

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

下面是方法改进后的代码

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

输出结果:

情况一:猜对

情况二:猜错

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

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

数组重修,打印三角形

  1. import org.junit.Test;
  2. /**
  3. * i数组示例:打印正三角形
  4. * @author fei
  5. */
  6. public class PrintTriangle {
  7. @Test
  8. public void printTriangle() {
  9. // 定义一个字符数组
  10. char[] chars = { 'A', 'B', 'C', 'D', 'E', 'F', 'G' };
  11. int len = chars.length;
  12. // 外循环控制行数
  13. for (int i = 1; i <= len; i++) {
  14. for (int j = i; j < len; j++) {
  15. // 输出空格
  16. System.out.print(" ");
  17. }
  18. for (int j = 1; j <= i * 2 - 1; j++) {
  19. System.out.print(chars[i - 1]);
  20. }
  21. System.out.println();
  22. }
  23. }
  24. }

输出结果:

Java数组重修,猜数小游戏改进和打印正三角形的更多相关文章

  1. 常用Java API之Ramdom--用代码模拟猜数小游戏

    常用Java API之Ramdom Ramdom类用来生成随机数字.使用起来也是三个步骤: 1.导包 import java.util.Random; 2.创建 Random r = new Rand ...

  2. jsp-简单的猜数小游戏

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"% ...

  3. Python猜数小游戏

    使用random变量随机生成一个1到100之间的数 采集用户所输入的数字,如果输入的不符合要求会让用户重新输入. 输入符合要求,游戏开始.如果数字大于随机数,输出数字太大:如果小于随机数,输出数字太小 ...

  4. 【Python】猜数小游戏

    有点沙雕 temp=input("猜猜我心里想的是哪个数字?") guess=int (temp) if guess==8: print("你是我肚里的蛔虫么?" ...

  5. 【Python】猜数小游戏(文件操作)

    人生苦短,我用Python 关键词 1.多用户 2.字典记录所有成绩 3.每次游戏轮数&总游戏次数&平均每次游戏需要多少轮 字典Dictionary.列表List.元组Tuple差异化 ...

  6. 带提示范围的猜数小游戏--python

    import random random_number = random.randint(1, 99) print(random_number) start_data = 1 end_data = 9 ...

  7. Java课程设计——猜数游戏(201521123111 陈伟泽)

    Java课程设计--猜数游戏(201521123111 陈伟泽) 1.团队课程设计博客链接 博客作业--猜数游戏 2.个人负责模块或任务说明 Answer:一些基础界面的构造,排行榜的构造,用文件录入 ...

  8. Java基础知识强化之IO流笔记70:Properties练习之 如何让猜数字小游戏只能玩5次的案例

    1. 使用Properties完成猜数字小游戏只能玩5次的案例: 2. 代码实现: (1)猜数字游戏GuessNumber: package cn.itcast_08; import java.uti ...

  9. java猜数字小游戏

    /* * * 猜数字小游戏 * * 先由系统生成一个2-100之间的随机数字, * * 然后捕获用户从控制台中输入的数字是否与系统生成的随机数字相同, * * 如果相同则统计用户所猜的次数,并给出相应 ...

随机推荐

  1. db2查看当前用户模式及当前用户的权限

    1.连接数据库:db2 connect to appdb 2.查询当前用户模式:select current schema from sysibm.sysdummy1 或 select current ...

  2. ORACLE DG添加redo日志成员

    ORACLE DG在线日志添加日志成员 SQL>select SEQUENCE#,first_time,next_time,APPLIED, THREAD# from v$archived_lo ...

  3. WinForm实现最小化右下角

    首先,要在窗体里面加入这么两个控件,左边的是托盘控件,右边的是菜单控件. 然后设置窗体的FormClosing事件: if (e.CloseReason == CloseReason.UserClos ...

  4. 使用GOGS搭建自己的Git托管

    大家在开发中一般使用的git服务都是公司搭建好的,或者就是直接用gayhub提供的免费的仓库 如果想搭建一个自己的仓库的话怎么弄,这里给大家安利一款开箱即用的git托管服务:gogs. gogs是基于 ...

  5. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_05 IO字符流_5_flush方法和close方法的区别

    flush之后,还可以继续使用流写文件

  6. 应用安全-CMF/CMS漏洞整理

    CMS识别 云悉 http://whatweb.bugscaner.com/batch.html CakePHP  CakePHP <= / Cache Corruption Exploit 2 ...

  7. 前端 CSS的选择器 高级选择器

    高级选择器分为: 后代选择器 儿子选择器 并集选择器 交集选择器 后代选择器 使用空格表示后代选择器.父元素的后代(包括儿子,孙子,重孙子) 后代选择器 在CSS中使用非常频繁 因为HTML元素可以嵌 ...

  8. Netty实战之性能调优与设计模式

    设计模式在Netty 中的应用(回顾): 单例模式要点回顾: 一个类在任何情况下只有一个对象,并提供一个全局访问点. 可延迟创建. 避免线程安全问题. 在我们利用netty自带的容器来管理客户端链接的 ...

  9. JAVA总结--java基本语法

    static :静态的~ static :静态变量.静态方法: 被修饰的成员变量或者方法独立于该类的任何对象,只要该类被加载,被修饰的成员变量或者方法就存在并可以使用.  用public修饰的stat ...

  10. 五分钟搞懂 Linux 重点知识,傻瓜都能学会!

    来源:无痴迷,不成功 www.cnblogs.com/justmine/p/9053419.html 写在前面 我们都知道Linux是一个支持多用户.多任务的系统,这也是它最优秀的特性,即可能同时有很 ...