題目:編寫程序實現一個猜數字游戲:系統隨機生成一個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);
}
}