猜数字游戏

猜数字游戏

信1603  20163548  马雯秋

 

一、程序设计思想

1.首先用random函数使计算机产生一个1——100的随机数

2.设置布尔类型的变量fg用来判断输入数字是否符合整数类型的要求

3.利用try-catch语句来实现意外情况的判断

4.再定义布尔类型的flag变量实现没猜中后的重新猜测

5.while语句包含三种情况,直到猜对数字为止

 

二、程序流程图

 

三、源代码

import java.util.Scanner;

public class main {

       public static void main(String[] args)

       {

              int guess=(int)(Math.random()*100);//产生一个0——100的随机数

              Scanner input=new Scanner(System.in);

              System.out.println("请输入你所猜的数字");

              int num=0;

              boolean fg=false;

              while(!fg)

              {

                     try  //try出现错误时会执行catch语句

                     {

                            num=input.nextInt();//输入一个整数

                            fg=true;

                     }

                     catch(Exception e)

                     {

                            System.out.println("你输错了,请重新输入");

                            input.next();

                     }

              }

              boolean flag=false;//旗帜变量,实现没猜中后的重新猜测

              while(!flag)

              {

                     if(num==guess)

                     {

                            flag=true;

                            System.out.println("猜对了");

                     }

                     else if(num>guess)

                     {

                            System.out.println("猜大了");

                            boolean fg1=false;

                            while(!fg1)

                            {

                                   try

                                   {

                                          num=input.nextInt();

                                          fg1=true;

                                   }

                                   catch(Exception e)

                                   {

                                          System.out.println("你输错了,请重新输入");

                                          input.next();

                                   }//循环结构

                            }

                     }

                     else if(num<guess)

                     {

                            System.out.println("猜小了");

                            boolean fg2=false;

                            while(!fg2)

                            {

                                   try

                                   {

                                          num=input.nextInt();

                                          fg2=true;

                                   }

                                   catch(Exception e)

                                   {

                                          System.out.println("你输错了,请重新输入");

                                          input.next();

                                   }

                            }

                     }

              }

       }

}

 

四、运行结果截图

 

五、编译错误分析

1.Try和catch语句是同时使用的,不能将其分开,只有当try语句出现异常时才会执行catch语句,catch语句是用来捕捉异常情况的。

2.只要是boolean类型的变量,不管其初值为多少,放在while()中之后,如果有感叹号!就为false,反之,为true,编程时不能将其搞混。

转载于:https://www.cnblogs.com/wenqiu1998/p/7630269.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值