JAVA程序编写猜数字游戏

img


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

public class Guess {

    public static void main(String args[]) throws MyExcept
    {
        int num,guess=-1;
        Random rnd = new Random();
        num = rnd.nextInt(100);
        Scanner input = new Scanner(System.in);
        while(guess !=0)
        {
            
            System.out.println("请输入一个数字:");
            try {
                guess = input.nextInt();
            }catch(Exception e) {
                throw new MyExcept("只能是1~100之间的数字。");
            }
            if(num>guess){
                System.out.println("你输入的数字太小了,请重新输入\n");    
            }else if(num<guess){
                System.out.println("你输入的数字太大了,请重新输入\n");            
            }else {
                System.out.println("恭喜你猜对了,一共猜了"+i+"次");
                break;
            }
        }
        
    }
}

参考

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

/**
 * 猜数字游戏(含注释)
 * 
 * @author luweihai
 */
public final class GuessNumberGame {

    /**
     * Main 方法,程序的入口
     */
    public static void main(String[] args) {
        // 获取随机数生成器
        final Random random = new Random();

        // 获取控制台输入
        final Scanner scanner = new Scanner(System.in);

        // 游戏答案,范围在0到100之间(包含0和100)
        final int keyNumber = random.nextInt(101);

        // 退出时,需要输入的数字
        final int exitNunmber = -1;

        // 记录猜了多少次
        int guessTimes = 0;

        // 玩家输入的数字
        int playerNumber = 0;

        System.out.println("游戏开始。");

        // 进入主循环
        while (true) {
            System.out.print("请输入一个数字:");

            // 获取玩家输入的数字
            playerNumber = scanner.nextInt();

            // 当玩家输入退出数字时,退出游戏
            if (playerNumber == exitNunmber) {
                break;
            }

            if (playerNumber > keyNumber) {
                System.out.println("大了");
            } else if (playerNumber < keyNumber) {
                System.out.println("小了");
            } else {
                System.out.printf("恭喜你!你猜对了。答案是:%s,你一共猜了%s次。", keyNumber, guessTimes);

                // 退出游戏
                break;
            }

            // 猜的次数加一
            guessTimes++;
        }

        // 关闭IO操作
        scanner.close();

        System.out.println("游戏结束。");
    }
}

Tips: 由于有中文字符,所以编译命令应该是javac -encoding UTF-8 GuessNumberGame.java