数字炸弹(简单)

目录

题目:

源代码:

运行结果 

(1)错误考虑:

 (2)正常运行 

 思路分析


题目:

("游戏规则如下:");
("~1.系统会随机生成一个1-1500之间的整数作为数字炸弹");
("~2.请您在系统所给区间每次猜想一位整数");
("~3.当你猜想的数字与数字炸弹相同时,视为游戏结束!");

源代码:

package com.Linhai;

import com.Linhai.expressStation.IO.View;

import java.util.Scanner;

public class GuessNumGame {

    public static void main(String[] args) {
        System.out.println("游戏规则如下:");
        System.out.println("~1.系统会随机生成一个1-1500之间的整数作为数字炸弹");
        System.out.println("~2.请您在系统所给区间每次猜想一位整数");
        System.out.println("~3.当你猜想的数字与数字炸弹相同时,视为游戏结束!");
        System.out.println("----------------------------------------------");
        System.out.println("游戏开始:");
        try {
            GuessNumGame.view();
        } catch (Exception e) {
            System.out.println("你的输入有误,注意输入数字,游戏重新开始!");
            GuessNumGame.view();
        }
    }

    public static int getGuessNum() {
        return (int) (Math.random() * 1500);
    }

    public static void view() {
        int guessNum = getGuessNum();
//        System.out.println(guessNum);
        System.out.println("你输入0-1500范围中,您猜想的数字:");
        Scanner scanner = new Scanner(System.in);
        int guess = Integer.parseInt(scanner.nextLine());
        isIn(guess, guessNum, 1500, 0);
    }

    public static void isIn(int num, int isTrue, int max, int min) {
        Scanner scanner = new Scanner(System.in);
        if (num < isTrue) {
            if (num > max || num < min) {
                System.out.println("请按照提示信息,输入对应区间内的数字:");
                num = Integer.parseInt(scanner.nextLine());
                isIn(num, isTrue, max, min);
            }
            System.out.println("请输入" + num + "到" + max + "之间的一个数字!");
            min = num;
            num = Integer.parseInt(scanner.nextLine());
            isIn(num, isTrue, max, min);
        } else if (num > isTrue) {
            if (num > max || num < min) {
                System.out.println("请按照提示信息,输入对应区间内的数字:");
                num = Integer.parseInt(scanner.nextLine());
                isIn(num, isTrue, max, min);
            }
            System.out.println("请输入" + min + "到" + num + "之间的一个数字!");
            max = num;
            num = Integer.parseInt(scanner.nextLine());
            isIn(num, isTrue, max, min);
        } else if (num == isTrue) {
            System.out.println("恭喜你,游戏结束!数字炸弹的值为:" + num);
        }
    }
}


运行结果 

(1)错误考虑:


 (2)正常运行 

 


思路分析

  1. 我们首先需要一种方法,由此来获得我们这个数字炸弹的最先预定的值
  2. 多次使用递归,将我们输入的值num,也是我们不断猜想的值num,作为isTrue()方法其中之一的参数,让我们将num在多次根据不同情况,将其赋值给max和min之后,给出提示信息。由此来不断缩小猜想数值的范围。【min和max的值是动态变化的】
  3. 考虑各种可能存在的错误,将错误处理。
  4. 多次运行代码,查找隐藏漏洞,不断完善我们的代码。


编写不易,如有帮助,可点赞收藏;如有问题可联系博主,qq:2280006919        

@Hanpig编写

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
摘要:定时器确实是一项了不起的发明,使相当多需要人控制时间的工作变得简单了许多。人们甚至将定时器用在了军事方面,制成了定时炸弹,定时雷管。现在的不少家用电器都安装了定时器来控制开关或工作时间。 关键词:电子定时器,555定时器 一 引言 人类最早使用的定时工具是沙漏或水漏,但在钟表诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。 1876年,英国外科医生索加取得一项定时装置的专利,用来控制煤气街灯的开关。它利用机械钟带动开关来控制煤气阀门。起初每周上一次发条,1918年使用电钟计时后,就不用上发条了。 定时器是一个多任务定时提醒软件,它全面支持WINDOWS 9X/ME/NT/2K/XP按时执行程序、播放声音、关机、待机、拨号、断开连接、关闭显示器等等操作。具有多种设定任务的方法。支持SKIN,可以随意更换界面。 工业用定时器是指输入信号进入后, 按预先设定的时间发送输出信号的控制设备。 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。 本次设计一个数字钟,基本要求为数字钟的时间周期为24小时,数字钟显示时、分、秒,数字钟的时间基准一秒对应现实生活中的时钟的一秒。供扩展的方面涉及到定时自动报警、按时自动打铃、定时广播、定时启闭路灯等。 二 方案论证 2.1方案一:基于模拟技术的传统产品 这种定时器功能简单,尽管曾被广泛应用过,但已进入淘汰之列。 2.2方案二:基于数字技术的新一代产品 这种产品功能强,是前者的换代之物。然而,此类产品大

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值