java - 做while循环语法错误,程序没有遍历所有代码,代码效率
问题描述
我做了一个基本的数字猜谜游戏,一切正常,直到我尝试在它的末尾添加一个“再玩”功能。当程序运行时,在输入第一个猜测后,它只是重新开始循环,而不经过其余部分。另外,我不确定我的代码是否有效。对于一个简单的概念,似乎编码太多了。这是基本猜测程序的平均长度吗?对不起,如果我的问题措辞奇怪。我是一名刚学习编程基础的大学一年级学生。这是我的代码:
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Random randomNum = new Random();
boolean playing = true;
do {
int max = 100;
int min = 1;
int counter = 10;
int guess = 0;
int guessThis = min + randomNum.nextInt(max);
System.out.println("I'm thinking of a number between 1 and 100. You have 10 tries to guess it. What's your first guess?");
guess = input.nextInt();
counter--;
if (guess == guessThis) {
playing = false;
} else {
playing = true;
}
if (guess > max) {
System.out.println("I said the number is between 1 and 100. You think this is a GAME MUTHA FUCKA??! Guess again... :) " + counter + " guesses left.");
}
if (min > guess) {
System.out.println("Bruh. Are you stupid? " + guess + " is not between 1 and 100. Try again dummy boi. " + counter + " guesses left.");
}
if (guess > guessThis && min <= guess && guess >= max && playing == true && counter > 0) {
System.out.println("Too high. Guess again. " + counter + " guesses left.");
} else if (guess < guessThis && min <= guess && guess >= max && playing == true && counter >0) {
System.out.println("Too low. Guess again. " + counter + " guesses left.");
}
if (playing == false && counter > 0) {
System.out.println("You guessed it!");
}
if (counter <= 0) {
System.out.println("You lose! Ha! Fuck off broooooo. My number was " + guessThis);
playing = false;
}
}while (playing == true);
String answer;
if (playing == false) {
System.out.println("Wanna play again? (y/n)");
}
answer = input.next();
if (answer == "n") {
System.out.println("My game isn't fun enough for you? Wow, okay, rude. Bye then. Dh.");
input.close();
} if (answer == "y") {
playing = true;
}
}
}
解决方案
利用
}while (playing == true);
在 if 语句结束之后
if (answer == "y") {
playing = true;
}
推荐阅读
- android - 当我添加 android 的滚动视图时,AppBar 正在隐藏我的内容
- docker - 用 docker-compose.prod.yml 覆盖 dockercompose.yml
- api - 尝试添加查询参数 MKM API 2.0、OAuth 1.0 时出现 401 错误
- python - 将流程图转换为 python 代码(战舰的 AI)
- ruby-on-rails - ActionCable 连接方法永远不会被调用
- php - 使用 WindowsAuth / Kerberos 连接到 MS SQL Server 的 Linux Apache+PHP 问题(“没有可用的 Kerberos 凭据”)
- vim - 多个文件中的gvim中的列编辑
- mysql - Mysql 最后插入 ID Graphql
- jenkins - 如何跳过 Gitlab 中特定文件更改的 Jenkins CI 触发器?
- node.js - 从 .ejs 文件发送一个 vue 组件 PROPS