题目:编敲代码实现一个猜数字游戏:系统随机生成一个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);
}
}