功能要求
1.功能:用计算机产生一个 1-100 内的随机数,游戏者进行猜数,猜中即胜,猜不中,提
示是大了还是小了,继续猜,直至猜对为止。游戏结束后给出评语并计算出玩家所用的
时间与所猜的次数。
2.注意点:
- 欢迎界面:通过这里提供的选项(或按钮),进入游戏界面。
- 游戏过程:有完备的提示过程,每次提示输入猜测结果时,给出猜测的准确度提示。
- 游戏结束:可以输入[Y/N]来决定继续玩还是结束游戏。
- 输入非数值验证。
- 输入边界值验证(1-100)。
3.出现效果:
目录结构
代码实现
package suiji;
import java.util.Date;
import java.util.Scanner;
public class SuiJiShu{
public static void main(String[] args) {
System.out.println("###########################");
System.out.println("######欢迎进入猜数字游戏######");
System.out.println("###########################");
Scanner sc=new Scanner(System.in);
Date startTime=new Date();
int sum=0;
String judgement="";
do{
int rand=(int)(Math.random()*100)+1;
System.out.println("请输入你猜的数字(1-100):");
while(sc.hasNextInt()){
int guss=sc.nextInt();
sum=sum+1;
if(guss>rand){
System.out.println("你猜的数字太大了");
System.out.println("请输入你猜的数字(1-100):");
}else if(guss<rand){
System.out.println("你猜的数字太小了");
System.out.println("请输入你猜的数字(1-100):");
}else{
Date endTime=new Date();
System.out.printf("你猜对了!你共用了%d次,共计:%d秒\n",sum, (endTime.getTime() - startTime.getTime())/1000);
break;
}
}
System.out.println("是否继续来一局游戏?(Y/N):");
judgement=sc.next();
}while("y".equals(judgement));
System.out.println("###########################") ;
System.out.println("####游戏结束,欢迎再次回来! ####");
System.out.println("###########################");
}
}