猜数游戏

使用Java编写完成常见算法的程序,达到熟悉并运用java语言解决基本问题的目的。具体的题目可能在行课过程中会有调整,常见的参考的题目如下。

猜数游戏,要求:

(1)编写一个方法用于产生1-1000之间的随机数;

(2)编写一个方法用于完成两个数的比较,参数(随机数,用户提供的数字),返回值:

>0 用户提供的数字比随机数大

=0 用户提供的数字跟随机数一样大

<0 用户提供的数字比随机数小

(3)编写一个测试方法,为用户提供猜数字游戏过程。

程序扩展一:每次猜数结果如果不对,则提示猜大了还是猜小了,最多可以猜10次。

程序扩展二:一次猜数结束,可以让用户选择是继续下一轮游戏还是退出。

 1 package ssj;
 2 import java.util.Scanner;
 3 import java.util.InputMismatchException;
 4 public class Ssj {
 5     //随机数方法
 6     public static int  ssj1() {
 7         int i = (int) (Math.random() * 1000);
 8         System.out.println("产生的随机数为"+i);
 9     return i;
10     }
11     //返回值
12     public static int ssj2(int x,int y) {
13 
14         // TODO 自动生成的方法存根
15         
16                  if(x>y){
17                       return 1;
18                    }
19                    else if(x==y){
20                       return 0;
21                    }
22                else
23                       return (-1);
24                 
25    }
26     //游戏
27      public static void main(String[] args){
28      int count=0;
29      int min,max;
30         min=1;
31         max=1000;
32      int number=ssj1();
33         
34         while(count<10){
35          Scanner sc = new Scanner(System.in);
36          System.out.println("请输入你要猜的数字::(" + min + "~" + max + ")");
37 
38          try {
39              count++;
40             int guessNumber = sc.nextInt();
41              // 判断
42              int o=ssj2(guessNumber,number);
43              if (o==0) {
44                      max = guessNumber;
45                      System.out.println("你猜大了");
46                      // 问是否继续
47                      System.out.println("请问还要继续吗?(1代表继续0代表结束)");
48                      sc = new Scanner(System.in);
49                     // String str = sc.nextLine();
50                      int guessNumber1 = sc.nextInt();
51                      if (guessNumber1==1) {
52                          
53                      } else {
54                              break;
55                      }
56              } else if (o==-1) {
57                      min = guessNumber;
58                      System.out.println("你猜小了");
59                      // 问是否继续
60                      System.out.println("请问还要继续吗?(1代表继续0代表结束)");
61                      sc = new Scanner(System.in);
62                     // String str = sc.nextLine();
63                      int guessNumber1 = sc.nextInt();
64                      if (guessNumber1==1) {
65             
66                      } else {
67                              break;
68                      }
69              } else {
70                      System.out.println("恭喜你,花了" + count + "次就猜中了");
71                      // 问是否继续
72                      System.out.println("请问还要继续吗?(1代表继续0代表结束)");
73                      sc = new Scanner(System.in);
74                     // String str = sc.nextLine();
75                      int guessNumber1 = sc.nextInt();
76                      if (guessNumber1==1) {
77                              // 重写赋值随机数
78                              number = ssj1();
79                              count = 0;
80                             max = 1000;
81                            min = 1;
82                      } else {
83                              break;
84                      }
85              }
86      
87          }catch (InputMismatchException e) {
88              System.out.println("你输入的数据有误");
89 
90         }
91        
92     }
93 }
94 }

 

转载于:https://www.cnblogs.com/ssjw/p/7577453.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值