黑马程序员技术交流社区

标题: 猜字游戏为什么不能正常结束 [打印本页]

作者: 季995    时间: 2015-6-24 10:27
标题: 猜字游戏为什么不能正常结束
本帖最后由 季995 于 2015-9-26 14:54 编辑

public class Charades {
         
        public void login()
        {
                System.out.println("\t"+"\t"+"\t"+"\t"+"\t"+"欢迎进入猜字游戏系统\n");
                System.out.println("\t"+"\t"+"\t"+"\t"+"\t"+"1.登录\n");
                System.out.println("\t"+"\t"+"\t"+"\t"+"\t"+"2.退出游戏\n\n\n");
               
        System.out.println("******************************************************");
        System.out.println("请输入对应的数字:");}
   public void dunpanlogin(){
           
           Scanner input=new Scanner(System.in);
                int number=input.nextInt();
                switch(number)
                {
                case 1: xmb();
                        guess();
               
                break;
                        
               
                case 2:  
                        System.out.println("程序结束!");
                                
                                
                }}
          public void xmb()
          {
                  System.out.println("欢迎进入猜数字游戏!"+ "\n"
                                         + "请输账号登录游戏(1-10之间的任意数):" );
          }

public void guess()
{
        
                        
         int realNumber; //随机数
         Random rand=new Random();//生成随机数
         realNumber=rand.nextInt(10)+1;//返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定值(不包括)之间均匀分布的 int 值。
         Scanner input1=new Scanner(System.in);
     int yourNumber=input1.nextInt();
     long startTime=System.currentTimeMillis();// 获取开始时间
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in));// 从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。


     while (yourNumber != realNumber) {
               try {
                       yourNumber = Integer.parseInt(br.readLine());
               } catch (Exception e) {
                System.out.println("请输入一个1至10之间的整数");
                continue;}
               if (  yourNumber < 0 ||   yourNumber > 10) {
                    System.out.println("请输入一个1至10之间的整数:");
                continue;}
               
               else  if (yourNumber > realNumber) {
                    System.out.println("您猜大了再来,加油哦!!!");
                   }
                else if (yourNumber  < realNumber) {
                    System.out.println("您猜小了再来,要继续努力哦!!!");
                   }}
                long endTime = System.currentTimeMillis(); // 获取结束时间
                if (yourNumber == realNumber) {
                System.out.println("恭喜您猜中了!!!" + "\n" + "程序运行时间: "
                                                                 + (endTime - startTime) / 1000 + "s"); }
              
                }
}




作者: 1千克=1024克    时间: 2015-6-24 13:27
我运行了  是正常的...  就你这程序
作者: 有艺术的刺客    时间: 2015-6-24 13:34
赞一个,哈哈
作者: zlpiano    时间: 2015-6-24 13:51
果然看别人的代码总是痛苦的
作者: 季995    时间: 2015-6-24 14:49
1千克=1024克 发表于 2015-6-24 13:27
我运行了  是正常的...  就你这程序

恩恩,我在主函数中多调用了一次xmb()方法和guess()方法,所以就需要执行两次。谢谢哦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2