猜数游戏
Posted 陌尘枫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了猜数游戏相关的知识,希望对你有一定的参考价值。
1. 猜数游戏,要求:
(1)编写一个方法用于产生1-1000之间的随机数;
(2)编写一个方法用于完成两个数的比较,参数(随机数,用户提供的数字),返回值:
>0 用户提供的数字比随机数大
=0 用户提供的数字跟随机数一样大
<0 用户提供的数字比随机数小
(3)编写一个测试方法,为用户提供猜数字游戏过程。
程序扩展一:每次猜数结果如果不对,则提示猜大了还是猜小了,最多可以猜10次。
程序扩展二:一次猜数结束,可以让用户选择是继续下一轮游戏还是退出。
代码:
1 package experiment; 2 3 import java.util.*; 4 public class Randon_2 { 5 public static void main(String args[]) { 6 num_game(); 7 } 8 9 10 public static int r_random(int min, int max) { 11 int ii; 12 ii = (int)(min + Math.random() * (max - min + 1)); 13 System.out.println(ii); 14 return ii; 15 } 16 17 public static byte compare(int ran_num, int user_num) { 18 if(ran_num < user_num) 19 return 1; 20 else if(ran_num == user_num) 21 return 0; 22 else 23 return -1; 24 } 25 26 public static void num_game() { 27 Scanner in = new Scanner(System.in); 28 int num_user; 29 int num_ran; 30 byte num_ret; 31 int ch; 32 int ii; 33 for(ii = 0; ii < 10; ii++) { 34 System.out.println("第" + (ii + 1) + "次" + "请输入一个数字(0~1000):\n"); 35 num_user = in.nextInt(); 36 num_ran = r_random(0, 1000); 37 num_ret = compare(num_ran, num_user); 38 if(num_ret > 0) 39 System.out.println("该数字比随机数数值大!\n"); 40 else if(num_ret == 0) { 41 System.out.println("游戏结束,答案正确!\n"); 42 break; 43 } 44 else 45 System.out.println("该数字比随机数数值小!\n"); 46 } 47 if(ii == 10) { 48 System.out.println("本轮游戏结束,游戏失败!\n"); 49 cycle_game(); 50 } 51 } 52 53 public static void cycle_game() 54 { 55 int ch; 56 Scanner in = new Scanner(System.in); 57 System.out.println("输入0退出,输入其他数字继续游戏"); 58 ch = in.nextInt(); 59 if(ch != 0) 60 num_game(); 61 } 62 }
以上是关于猜数游戏的主要内容,如果未能解决你的问题,请参考以下文章