猜数

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

猜数游戏,要求:

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

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

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

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

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

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

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

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

 

 1 import java.util.*;
 2 
 3 public class hello {
 4     public static void main(String[] args){
 5         int i;
 6         do{
 7             System.out.println("-----Menu-------");
 8             System.out.println("1.Take a guess.");
 9             System.out.println("2.End.");
10             System.out.print("Please select operation:");
11             Scanner sc2 = new Scanner(System.in);
12             i = sc2.nextInt();
13             switch(i){
14             case 1:{
15                 guess();
16                 break;
17             }
18             case 2:{
19                 System.exit(0);
20                 break;
21             }
22             }
23         }while(i!=2);
24     }
25     public static void guess(){
26         int flag = 10;
27         int num2 = random();
28         do{            
29             System.out.print("Please input an integer:");
30             Scanner sc1 = new Scanner(System.in);
31             int num1 = sc1.nextInt();            
32             int o = compare(num1,num2);
33             switch(o){
34             case 1:{
35                 System.out.println("Guess big!");
36                 flag--;
37                 break;
38             }
39             case 0:{
40                 System.out.println("Guess it!");
41                 System.exit(0);
42                 flag--;
43                 break;
44             }
45             case -1:{
46                 System.out.println("Guess it's small!");
47                 flag--;
48                 break;
49             }
50             }            
51         }while(flag!=0);
52         return ;
53     }
54     public static int random(){
55         int i = (int)(1+Math.random()*(1000));
56         return i;
57     }
58     public static int compare(int x,int y){
59         if(x>y){
60             return 1;
61         }
62         else if(x==y){
63             return 0;
64         }
65         else
66             return (-1);
67     }
68 }

 

posted on 2017-09-21 17:37  八十年代的歌  阅读(251)  评论(1)    收藏  举报