Java实验项目二——猜数游戏
Posted Pretty Boy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java实验项目二——猜数游戏相关的知识,希望对你有一定的参考价值。
1 /* 2 * Description:定义比较类,实现两个数的比较 3 * 4 * */ 5 6 7 package compare; 8 9 import dao.Operate; 10 11 public class Compare { 12 13 private static boolean flag = true; 14 15 public Compare() { 16 17 while( flag ) { 18 19 int count = 0; //统计用户输入的次数 20 System.out.print( "游戏开始:" ); 21 int random = Operate.getRandom(); //取得随机数 22 System.out.println( "正确答案为 " + random ); 23 24 for( count = 1; count <= 10; count++ ) { //十次机会 25 26 int input = Operate.getInput(); //取得用户输入的数据 27 28 switch( compare(random, input) ) { //进行两个数的比较 29 30 case 1:System.out.println( "输入值偏大!" );break; 31 32 case -1:System.out.println( "输入值偏小!" );break; 33 34 case 2: 35 case 0: { 36 Compare.flag = Compare.ifOver(count); //判断count的值 37 count = 100; 38 break; 39 } 40 41 } 42 } 43 44 if( count == 11 ) { //十次机会用完,判断是否结束游戏 45 Compare.flag = ifOver(count); 46 } 47 48 49 } 50 51 System.out.println( "游戏结束!" ); 52 53 54 } 55 56 57 public static int compare(int x1,int x2) { //定义比较方法,x1为随机数,x2为用户输入的数 58 59 if( x1 < x2 ) { //用户输入的数过大 60 61 return 1; 62 }else if( x1 > x2 ) { //用户输入的数过小 63 64 return -1; 65 }else { //输入正确 66 67 return 0; 68 } 69 } 70 71 public static boolean ifOver(int count) { //通过count的值判断是否结束游戏或者进入下一轮 72 73 if( count <= 10 ) { 74 75 System.out.println( "输入值正确!" ); 76 } 77 else{ 78 79 System.out.println( "10次机会用完,本轮游戏结束!" ); 80 } 81 82 System.out.println( "输入0结束游戏!,输入其它继续下一轮游戏!" ); 83 if( Operate.getInput() == 0 ) { 84 85 return false; 86 }else { 87 88 return true; 89 } 90 } 94 }
1 /* 2 * 定义操作类Operate:用于产生随机数和取得用户输入 3 * 4 * */ 5 6 package dao; 7 8 import java.util.Random; //导入包 9 import java.util.Scanner; 10 11 12 public class Operate { 13 14 //产生1-1000之间随机数 15 public static int getRandom() { 16 17 Random random = new Random(); 18 int max = 1001; 19 int min = 1; 20 21 return random.nextInt(max) % (max - min + 1) + min; 22 23 } 24 25 26 public static int getInput() { //返回用户猜测输入的数据 27 28 Scanner scan = new Scanner(System.in); 29 int input = 0; 30 31 System.out.println("请输入:"); 32 input = scan.nextInt(); 33 34 return input; 35 } 38 }
1 package main; 2 3 import compare.Compare; 4 5 public class Main { 6 7 public static void main(String args[]) { 8 9 new Compare(); //实例化对象,进行游戏 10 } 11 12 }
以上是关于Java实验项目二——猜数游戏的主要内容,如果未能解决你的问题,请参考以下文章
猜数游戏的代码和实验文档中的说明,为了增加代码的复用性,将猜数字游戏封装为函数GuessSecret(maxtimes),将允许猜数字的最大次数maxtimes作为参数。在调用GuessSecret时