欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java入门第27课——猜数字游戏V2.0

程序员文章站 2024-03-18 17:10:58
...

问题

        使用do-while语句实现猜数字游戏,界面的交互过程和上一个案例相同。

方案

        此案例的实现方案和之前的案例类似。

        首先,此案例中,需要产生一个1到1000之间的随机数,该数值就是用户要猜测的结果;然后,提示用户进行第一个猜测,并得到用户从界面所录入的数字。

        因为猜测的次数不确定,则使用do-while循环来构建猜测的过程:判断用户所猜测的数字是否与结果相同,只要猜测不正确,则循环继续。每次循环中,首先判断用户录入的数字是否为0,如果是,则使用break退出循环;否则,根据比较结果输出提示信息("太大了"或者"太小了"),并提示用户继续下一次猜测。

        如果用户猜测正确或者录入数字0,则循环结束。循环结束后,需要判断用户最后一次所录入的数字,如果猜测正确,则提示用户"恭喜,你猜对了!";如果录入的为数字0,则提示用户"真遗憾,下次再挑战吧!",然后程序结束。程序的流程如图所示:

Java入门第27课——猜数字游戏V2.0

步骤

        实现此案例需要按照如下步骤进行。

步骤一:定义类及main方法

        首先定义一个名为NumberGuessV03的类,并在类中添加Java应用程序的主方法main,代码如下所示:

public class NumberGuessV03{
        public static void main(String[] args){
        }
    }

步骤二:准备录入

        在main方法中,生成一个随机数作为猜测的结果,然后实例化Scanner类,用于接收用户从控制台输入的数字,还需要声明变量用于存储用户所录入的数字。代码如下所示:

import java.util.Scanner;
    public class NumberGuessV03{
        public static void main(String[] args){
            //生成一个随机数作为猜测的结果
            int num=(int)(Math.random()*1000)+1;
            
            //准备输入
            Scanner s=new Scanner(System.in);
            int guest=-1;
        }
    }

        注意:此步骤中,需要导入java.util包下的Scanner类。

步骤三:构建循环

        使用do-while循环,提示用户进行猜测,并调用Scanner类的nextInt方法接收用户录入的数字,然后判断用户所猜测的数字是否与结果相同:只要猜测不正确,则循环继续。

        每次循环中,需要使用if-else结构判断用户所录入的数字。首先,判断录入的数字是否为0,如果为0,表示用户希望退出游戏,则使用break退出循环;然后比较猜测的数字和实际数字的大小,并根据比较结果输出提示信息(“太大了”或者"太小了")。代码如下所示:

import java.util.Scanner;
    public class NumberGuessV03{
        public static void main(String[] args){
            //生成一个随机数作为猜测的结果
            int num=(int)(Math.random()*1000)+1;
            
            //准备输入
            Scanner s=new Scanner(System.in);
            int guest=-1;
            
            do{
                System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
                guest=s.nextInt();
                //判断:输入0,则中止
                if(guest==0){
                    break;
                }else if(guest>num){
                    System.out.println("太大了");
                }else if(guest<num){
                    System.out.println("太小了");
                }
            }while(guest!=num);
        }
    }

步骤四:游戏结束

import java.util.Scanner;
    public class NumberGuessV03{
        public static void main(String[] args){
            //生成一个随机数作为猜测的结果
            int num=(int)(Math.random()*1000)+1;
            
            //准备输入
            Scanner s=new Scanner(System.in);
            int guest=-1;
            
            do{
                System.out.print("请输入你猜测的数字(1-1000),退出请按0:");
                guest=s.nextInt();
                //判断:输入0,则中止
                if(guest==0){
                    break;
                }else if(guest>num){
                    System.out.println("太大了");
                }else if(guest<num){
                    System.out.println("太小了");
                }
            }while(guest!=num);
            
            //提示用户最终效果
            if(guest==num){
                System.out.println("恭喜,你猜对了!");
            }else{
                System.out.println("真遗憾,下次再挑战吧!");
            }
            s.close();
        }
    }

学习网址:http://java.itkzhan.com/

相关标签: Java猜数字游戏