首页 > 代码库 > 猜数字游戏
猜数字游戏
题目:编写程序实现一个猜数字游戏:系统随机生成一个100以内的整数,用户根据系统提示来进行猜测,如果猜对,则显示“恭喜”并提示“增加难度,需要继续吗?”,如果用户选择继续则系统随机生成一个1000以内的整数,否则系统退出;如果用户猜错,则显示“错误,请重新输入!”,一旦用户连续5次没有猜中,则系统退出!
以下为源代码,用的选择(if )比较多,因此自己觉得代码有点累赘,可读性不是很好。希望大家可以多多提意见和建议!
public static void main(String[] args) {
// TODO Auto-generated method stub
String choose;//用来存储随机数
boolean set=true;//开关变量,用来控制内层while循环
int ran;//用来存储随机数
int count=5;//第一次猜测总次数
int ncount=5;//加大难度时的猜测总次数
int user;//用来接收用户猜测的数字
Random ram=new Random();//随机数类的实例化对象
System.out.println("这是一个猜数字游戏,是否继续?请选择:是:Y 否:N");//提示用户是否开始
Scanner scn=new Scanner(System.in);
choose=scn.nextLine();
if(choose.equals("Y")||choose.equals("y")){
ran=ram.nextInt(10);
System.out.println("已经生成一个0——10之间的随机数,请输入你的猜测:");
while(count>0&&set==true){
user=scn.nextInt();
if(user!=ran){
System.out.println("很遗憾,没有猜中,你还有"+(count-1)+"次机会!");
if(user>ran){
System.out.println("提示:你猜的数字大了!");
}
else
System.out.println("提示:你猜的数字小了!");
count--;
}
else
{
set=false;
System.out.println("太棒了,还要再继续猜吗?会加大难度哦!请选择 :是:Y 否:N");
choose=scn.next();
if(choose.equals("Y")||choose.equals("y")){
ran=ram.nextInt(100);
System.out.println("已经生成一个0——100之间的随机数,请输入你的猜测:");
while(ncount>0){
user=scn.nextInt();
if(user!=ran){
System.out.println("很遗憾,没有猜中,你还有"+(ncount-1)+"次机会!");
if(user>ran){
System.out.println("提示:你猜的数字大了!");
}
else
System.out.println("提示:你猜的数字小了!");
ncount--;
}
else
{
System.out.println("恭喜你挑战成功,你真的是个天才!");
System.exit(1);
}
}
}
else
{
System.out.println("你选了不玩高级游戏,系统退出!");
System.exit(1);
}
}
}
}
else
{
System.out.println("你选择不玩游戏,系统退出!");
System.exit(1);
}
}