我自己用Java写了一个关于猜数字游戏的程序,相对来说还算完整,但是因为本人是初学java,知识储备有限,所以相信这个程序一定有什么可以改进优化的地方,想请大家给指出来,发表自己的优化建议,同时也希望自己可以查漏补缺,学习到更多的知识,谢谢大家
import java.util.Random;
import java.util.Scanner;
public class work2 {
/**
* 用户猜数字:由用户输入数字范围,进行猜数字
*/
public static void main(String[] args) {
guessNumber(10);
}
public static void guessNumber(int n) {
Random random = new Random();
int ran = random.nextInt(n);
int ranNext = -1;
System.out.println(ran);
Scanner sc = new Scanner(System.in);
System.out.println("请用户输入一个0-" + n + "之间的数字:\n您一共有5次机会");
for (int i = 5; i > 0; i--) {
int num = sc.nextInt();
if(ranNext >= 0){
ran = ranNext;
}
if (num > n || num < 0) {
System.out.println("您输入的数字超出范围,请重新输入:");
num = sc.nextInt();
} else if (num == ran) {
System.out.println("恭喜你,猜对了!\n接着下一局请输入yes,输入其他则退出");
String judge = sc.next();
if(judge.equals("yes")){
i = 6;
ranNext = random.nextInt(n);
System.out.println(ranNext);
System.out.println("请用户输入一个0-" + n + "之间的数字:\n您一共有5次机会");
}else{
break;
}
} else if (num != ran) {
if (i == 1){
System.out.println("对不起,你的机会用完了,再玩一次请输入yes,输入其他则退出");
String judge = sc.next();
if(judge.equals("yes")){
i = 6;
ranNext = random.nextInt(n);
System.out.println(ranNext);
System.out.println("请用户输入一个0-" + n + "之间的数字:\n您一共有5次机会");
}else{
break;
}
}else {
System.out.println("对不起,你猜错了!还剩" + (i - 1) +"次机会");
}
}
}
}
}