【Java基础教程】用Java实现猜数字小游戏

简介: 由计算机随机产生1~100的整数。用户猜测计算机产生的数字,并输入数字,当输入的数字与计算机产生的数字相同时输出恭喜你,猜对了。当输入的数字小于计算机产生的数字输出太小了,当输入的数字大于计算机产生的数字输出太大了

cef2d2787d2542f79a7c6bb6d23c37c7.jpg

实现思路🔥



由计算机随机产生1~100的整数。用户猜测计算机产生的数字,并输入数字,当输入的数字与计算机产生的数字相同时输出恭喜你,猜对了。当输入的数字小于计算机产生的数字输出太小了,当输入的数字大于计算机产生的数字输出太大了

✅可以用for循环设定游戏猜的次数,增加代码的可玩性


代码实现🔥



import java.util.Random;
import java.util.Scanner;
public class User {
    public static void main(String[] args) {
        {
            Random ran = new Random();//实例化随机对象
            System.out.println("欢迎进入猜数字游戏,祝你玩的愉快");
            int b = ran.nextInt(100) + 1;//随机生成一个整数作为猜的答案
            int i;
            for (i = 0; i < 10; i++) {//给游戏设定一个次数,最多输入10次
                System.out.println("请输入一个整数:");
                Scanner a = new Scanner(System.in);//实例化一个输入流对象
                if (a.hasNextInt()) {//判断输入的数是否为int类型
                    var c = a.nextInt();//将输入的值赋给c
                    if (c < b) {//判断c是否小于答案,如果是就输出下面这段话
                        System.out.printf("太小了,还剩%2d次机会", 9 - i);
                        System.out.println();
                    } else if (c > b) {//判断c是否大于答案,如果是就输出下面这段话
                        System.out.printf("太大了,还剩%2d次机会", 9 - i);
                        System.out.println();
                    } else {//否则就是等于答案
                        System.out.println("恭喜你,猜对了");
                        System.out.println("游戏结束,获胜");
                        break;
                    }
                } else {//如果输入的不是int类型,运行下面这段代码
                    if ("不想玩了".equals(a.next())) {//判断输入的是否为不想玩了这几个字,如果是就执行下面这句话
                        System.out.println("结束游戏,不玩了");
                        break;
                    } else {//否则就输出下面这段话
                        System.out.println("输入错误");
                        i--;//i-1 此次输入不算次数
                    }
                }
            }
            if (i == 10) {//判断输入次数是否为10次,如果为十次就输出下面这段话
                System.out.println("游戏结束,失败");
            }
        }
    }
}


欢迎进入猜数字游戏,祝你玩的愉快
请输入一个整数:
50
太小了,还剩 9次机会
请输入一个整数:
60
太大了,还剩 8次机会
请输入一个整数:
55
太大了,还剩 7次机会
请输入一个整数:
53
猜对了
游戏结束,获胜


结束语🏆


🔥推荐一款模拟面试、刷题神器网站

点击跳转进入网站

1、算法篇(398题):面试必刷100题、算法入门、面试高频榜单

2、SQL篇(82题):快速入门、SQL必知必会、SQL进阶挑战、面试真题

3、大厂笔试真题:字节跳动、美团、百度、腾讯…



相关文章
|
21天前
|
Java 开发者 UED
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
【实战宝典】Java异常处理大师级教程:throws关键字,让异常声明成为你的专属标签!
34 3
|
4天前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
|
4天前
|
安全 Java API
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
String常量池、String、StringBuffer、Stringbuilder有什么区别、List与Set的区别、ArrayList和LinkedList的区别、HashMap底层原理、ConcurrentHashMap、HashMap和Hashtable的区别、泛型擦除、ABA问题、IO多路复用、BIO、NIO、O、异常处理机制、反射
【Java面试题汇总】Java基础篇——String+集合+泛型+IO+异常+反射(2023版)
|
4天前
|
缓存 安全 Java
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
Java的特点和优点,、Java 8的新特性、面向对象、基本数据类型和引用类型、自动拆装箱与自动装箱、==与equals()的区别、为什么重写equals()就要重写hashcode()、抽象类和接口的区别、重载和重写的区别、四种引用方式、wt()和sleep()的区别、java方法是值传递还是引用传递?访问修饰符、static、final、this和super、volatile的用法及原理
【Java面试题汇总】Java基础篇——基础、修饰符和关键字(2023版)
|
29天前
|
Java C++
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?
这篇文章讨论了Java单继承的设计原因,指出Java不支持多继承主要是为了避免方法名冲突等混淆问题,尽管Java类不能直接继承多个父类,但可以通过接口和继承链实现类似多继承的效果。
【Java基础面试十七】、Java为什么是单继承,为什么不能多继承?
|
22天前
|
Java 开发者
Java多线程教程:使用ReentrantLock实现高级锁功能
Java多线程教程:使用ReentrantLock实现高级锁功能
22 1
|
28天前
|
Java
【Java基础面试三十七】、说一说Java的异常机制
这篇文章介绍了Java异常机制的三个主要方面:异常处理(使用try、catch、finally语句)、抛出异常(使用throw和throws关键字)、以及异常跟踪栈(异常传播和程序终止时的栈信息输出)。
|
28天前
|
Java
【Java基础面试三十八】、请介绍Java的异常接口
这篇文章介绍了Java的异常体系结构,主要讲述了Throwable作为异常的顶层父类,以及其子类Error和Exception的区别和处理方式。
|
29天前
|
Java
【Java基础面试十六】、Java中的多态是怎么实现的?
这篇文章解释了Java中多态的实现机制,主要是通过继承,允许将子类实例赋给父类引用,并在运行时表现出子类的行为特征,实现这一过程通常涉及普通类、抽象类或接口的使用。
|
19天前
|
存储 安全 Java
java基础Java的Deque之Deque、BlockingDeque、LinkedBlockingDeque、ArrayDeque
在实际编程中,合理利用Java的Deque和它的具体实现,可以在不同的应用场景中发挥高效和线程安全的队列管理功能。通过了解和比较Deque的不同实现,可以根据应用需求做出适当的技术选型,以支持高效且健壮的应用架构。
11 0