⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guessgame.java

📁 猜数字 的游戏 java 你心中想一个数 然后 让计算机猜
💻 JAVA
字号:
/**
 * @(#)GuessGame.java
 *
 * GuessGame application
 *
 * @author 
 * @version 1.00 2008/5/29
 */
 
import java.util.Random;
import java.util.Scanner;

public class GuessGame
{

	public static int getRandomNumber(int low, int high){
		Random generator = new Random();
		return low + generator.nextInt(high - low + 1);
	}

	public static int getIntFromUser(String prompt){
		Scanner sc = new Scanner(System .in);
		while (true)
		{
			System .out.print(prompt);	
			if (! sc.hasNextInt())
				System .out.println( "Invalid number.");
			else
				return sc.nextInt();
		}
	}

	public static int getMenuOption(){
		System .out.println( "Choose an option:");
		System .out.println( "\t1=Play game");
		System .out.println( "\t2=Change number range");
		System .out.println( "\t3=Quit\n");
		int choice = getIntFromUser( "Enter your choice:");
		while (choice < 1 || choice > 3){
			System .out.println( "Please choose a valid option.\n");
				choice = getIntFromUser( "Enter your choice:");
		}
		return choice;
	}

	public static void getNumberRange(int[] range){
		System .out.println( "\nTo play the game, we need a range of numbers from which to pick a secret number. ");
		range[0] = getIntFromUser(" Enter the low end of the range: ");
		range[1] = getIntFromUser( "Enter the high end of the range:");
		while (range[1] <= range[0]){
			System .out.println( "Must enter a higher number than " + range[0] +"!");
			range[1] = getIntFromUser( "Enter the high end of the range:");
		}
		System .out.println();
	}

	public static int playGame(int[] range)
	{
		System .out.println( "\nThe game begins!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ");
		int secretNumber = getRandomNumber(range[0], range[1]);
		Scanner sc = new Scanner(System .in);
		int guess = 0;
		int numGuesses = 0;
		while (guess != secretNumber){
			guess = getIntFromUser( "\nPick a number from " 
					+ range[0] + " to " + range[1] + ":"); 
			numGuesses++;
			
			if (guess > secretNumber)
				System .out.println( "Too high!");
			else if (guess < secretNumber)
				System .out.println( "Too low!");
		}
		System .out.println( "\nCorrect!");
		System .out.println( "You took " + numGuesses + " guesses to get it right.\n ");

		return numGuesses;
	}
	
	public static void printEndOfGame(int numGames, int totalGuesses){
		if (numGames > 0){
			System .out.println( "\nYou played " + numGames 
				+ " games, and took an average of "
				+ totalGuesses / (double)numGames + " guesses per game.\n ");
			System .out.println( "Thanks for playing!");
		}
	}
	
	public static void main(String[] args){
		System .out.println( "Welcome to the Guessing Game!\n");
		boolean playing = true;
		
		int numGames = 0;
		int totalGuesses = 0;
	
		int[] range = {1,100};
		
		while (playing){
			int choice = getMenuOption();
			if (choice == 1){ 			//play game
				int numGuesses = 0;
				numGuesses = playGame(range);
				totalGuesses += numGuesses;
				numGames++;
			}
			else if (choice == 2) 		//change the range
				getNumberRange(range);
			else
				playing = false; 		//end of the game
		}
		printEndOfGame( numGames, totalGuesses);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -