猜数
使用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 }
浙公网安备 33010602011771号