Java教程

【Java】猜数字游戏

本文主要是介绍【Java】猜数字游戏,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

思路

Java实现猜数字游戏原理和C语言相似,不过这次的游戏中加入了一些之前没有的设置

代码详解

1.设置随机数种子

首先,还是设置随机数种子,语法有别于C语言

Random r = new Random();   //设置随机数种子,无参数默认以时间为种子

注意:Random函数需要导入包,类似于C语言中的include<...>,同样写在程序最开始

import java.util.Random;

2.生成随机数

生成需要猜的随机数,并且设置范围为[0,100]

int toGuess = r.nextInt(100) + 1;   //设置随机数范围为 [0,100]

3.Ctrl+D退出游戏

 用户按Ctrl+D直接退出游戏

if (!s.hasNextInt()){       //Ctrl + D 可直接退出游戏
               
     System.out.println("退出");
     break;
}

4.判断是否超过最大输入次数

在最开始定义最大输入次数maxCount,之后用户每输入一次,count+1,count超过maxCount后退出游戏

int maxCount = 3;    //定义可输入的最大次数为3
int count = 0;




int putIn = s.nextInt();
count++;    //记录输入次数
if (count > maxCount){  //超过最大可输入次数,退出
    System.out.println("超过输入次数");
    break;
}

5.判断是否猜对

if (putIn > toGuess) {
    System.out.println("大了");
 } if (putIn < toGuess) {
    System.out.println("小了");
 } if (putIn == toGuess) {
    System.out.println("猜对了");
    break;
 }

 完整代码参考

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

public class GuessNum {
    public static void main(String[] args) {
        Random r = new Random();   //设置随机数种子,无参数默认以时间为种子
        int toGuess = r.nextInt(100) + 1;   //设置随机数范围为 [0,100]
        Scanner s = new Scanner(System.in);
        int maxCount = 3;    //定义可输入的最大次数为3
        int count = 0;
        while (true) {
            if (!s.hasNextInt()){       //Ctrl + D 可直接退出游戏
                System.out.println("退出");
                break;
            }
            int putIn = s.nextInt();
            count++;    //记录输入次数
            if (count > maxCount){  //超过最大可输入次数,退出
                System.out.println("超过输入次数");
                break;
            }
            if (putIn > toGuess) {
                System.out.println("大了");
            } if (putIn < toGuess) {
                System.out.println("小了");
            } if (putIn == toGuess) {
                System.out.println("猜对了");
                break;
            }
        }
    }
}

这篇关于【Java】猜数字游戏的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!