Java实现猜数字游戏,包含随机数的使用方法

猜数字游戏

题目内容:
用C语言实现一个猜数字游戏。
进入程序,随机产生一个数字,输入数字猜这个数字的大小,直到猜中这个数字。当你输入的这个数字小于这个随机数,提示猜小了,当你输入数字大于这个随机数,则提示猜大了。直到猜中这个随机数,输出恭喜你猜中了,并结束程序。

具体实现:

C语言

在之前通过C语言实现过猜数字游戏,详见下面链接:

C语言实现猜数字游戏

Java

题目分析:

1、首先需要产生一个随机数
2、从键盘输入,如果输入数字大了,给与提示,“猜大了!”;如果猜小了,给与提示“猜小了!”,直到猜中这个数字。

具体实现:

import java.util.Random;
import java.util.Scanner;

public class GuessNumber {
    
    
    //猜数字游戏
    //生成随机数
    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        Random rand = new Random();
        int i = rand.nextInt(100) + 1;//生成0-100的随机数
        System.out.println(i);//方便游戏的进行,我们可以将这个随机数打印出来

		//判断键盘是否输入,当用户不想在输入,输入ctrl+d,退出程序
        while (sc.hasNextInt()) {
    
    
            int num = sc.nextInt();
            if (num == i) {
    
    
                System.out.println("猜中了!");
                break;
            } else if (num > i) {
    
    
                System.out.println("猜大了!");
            } else {
    
    
                System.out.println("猜小了!");
            }
        }
    }
}

在这里插入图片描述
当输入==Ctrl+d ==退出程序
在这里插入图片描述

代码优化

1、增加功能,完成简单、中等、困难,分别对应生成随机数为0—10,0—100,0—1000;
2、增加猜数字的次数限制,简单(20次)、中等(10次)、困难(5次);

具体实现:

import java.util.Random;
import java.util.Scanner;

public class GuessNumber {
    
    
    //猜数字游戏
    //生成随机数
    public static void main(String[] args) {
    
    
        Scanner sc = new Scanner(System.in);
        Random rand = new Random();
        int bound = 1;
        int time = 1;
        System.out.println("请输入你想玩的难度,0——>简单、1——>中等、2——>困难");
        int input = sc.nextInt();
        switch (input) {
    
    
            case 0:
                bound = 10;
                time = 20;
                break;
            case 1:
                bound = 100;
                time = 10;
                break;
            case 2:
                bound = 1000;
                time = 5;
                break;
            default:
                bound = 10;
                time = 20;
                break;
        }
        int i = rand.nextInt(bound) + 1;//生成的随机数
        System.out.println(i);//方便游戏的进行,我们可以将这个随机数打印出来

        while (time > 0 && sc.hasNextInt()) {
    
    
            int num = sc.nextInt();
            if (num == i) {
    
    
                System.out.println("猜中了!");
                break;
            } else if (num > i) {
    
    
                System.out.println("猜大了!");
            } else {
    
    
                System.out.println("猜小了!");
            }
            time--;
            System.out.println("剩余" + time + "次!");
        }

    }
}

在这里插入图片描述

总结:

1、这里主要使用了Java中随机数的生成,和输入输出的方法,注意需要导包哦~
import java.util.Random;
import java.util.Scanner;

还有对于switch语句和while循环的加强理解!
2、另外,在对于 连续输入的时候,可以使用,sc.hasNextXXX() 的方法,但是注意,退出的时候,是 Ctrl+d

猜你喜欢

转载自blog.csdn.net/weixin_52142731/article/details/111825215