题目类别: 实验
关键字: Java语言数据类型、基本输入输出、控制语句和方法
内容要求:
1 . 使用Java语言编写一个程序,程序类型为“Java Application(Java应用)”。
项目名称:GuessNumberGame。类根据自己需要定义。
2 . 实现功能:
2.1 程序开始运行后,允许玩家进行多次猜数字的游戏。
2.2 每次猜数字的过程如下:
(1)程序随机产生一个0-9之间的整数。
(2)要求玩家从键盘输入自己猜的数字。
(3)程序检查玩家输入的数字,并根据检查结果进行如下提示:
如果用户猜对了,则提示:恭喜你,猜对了。
如果用户猜错了,则提示:你猜的数字太(大或小)了。
(4)一次游戏结束条件有2种情况:
玩家连续3次没有猜对给定数字,则提示:游戏失败。
玩家在3次机会之内猜对了给定的数字,则提示:游戏成功。
(5)每次游戏结束时,询问用户是否继续新的游戏。
如果用户选择继续,则开始新一次游戏
否则输出:你共进行了XXX次游戏,成功XXX次,失败XXX次。然后结束程序运行。
下面是一个运行示例:
实现代码:
package Experience1124;
import java.util.Random;
import java.util.Scanner;
public class GuessGame {
private static int time=0;
private static int success=0;
private static int fail=0;
public static void main(String[] args) {
Start();
}
public static void Start(){
time++;
System.out.println("第"+time+"次游戏,程序生成了一个[0,9]之间的数字.");
Game(3);
}
public static void End(){
System.out.println("你共进行了"+time+"次游戏,成功"+success+"次,失败"+fail+"次.");
}
public static void Game(int choice){
Scanner sc=new Scanner(System.in);
Random random=new Random();
int answer=random.nextInt(10);
boolean isSuccess=false;
while(choice>0){
System.out.print("你还有"+choice+"次机会,输入你猜的数字:");
int input=sc.nextInt();
if(answer==input){
System.out.println("恭喜你,猜对了!");
isSuccess=true;break;
}else if(input<answer){
System.out.println("你猜的数字太小了!");
choice--;
}else {
System.out.println("你猜的数字太大了!");
choice--;
}
}
if(isSuccess){
success++;
}else{
fail++;
System.out.println("本次游戏失败!正确数字是:"+answer);
}
System.out.print("你还要继续游戏吗?(Y继续/N退出):");
char h=sc.next().charAt(0);
if(h=='Y'){
Start();
}else{
End();
}
sc.close();// eclipse下添加此句,以防报错
}
}