java - 如何添加是或否的重置游戏?游戏Java
问题描述
我不知道如何使用是或否输入用户添加重置游戏我已经尝试了很多解决方案但它不起作用。
这是我的代码:
import java.util.Scanner;
public class Pr16 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String a = "Stone";
String b = "Scissors";
String c = "Paper";
//a > b
//b > c
//c > a
System.out.println("Player one choose:");
String x = in.nextLine();
System.out.println("Player two choose:");
String y = in.nextLine();
String answer = "";
do {
if ((x.equalsIgnoreCase(a) && (y.equalsIgnoreCase(b)))) {
System.out.println("Player one won");
} else if ((x.equalsIgnoreCase(b) && (y.equalsIgnoreCase(c)))) {
System.out.println("Player one won");
} else if ((x.equalsIgnoreCase(c) && (y.equalsIgnoreCase(a)))) {
System.out.println("Player one won");
} else {
System.out.println("Player two won");
}
System.out.println("Do you want to play again? YES / NO");
answer= in.nextLine();
}
while (answer.equalsIgnoreCase("YES"));
if (answer.equalsIgnoreCase("NO")){
System.out.println("Goodbye!");
}
}
}
有什么方法可以将游戏重置添加到我上面的代码中?任何意见,将不胜感激。
解决方案
试试下面的代码:
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String a = "Stone";
String b = "Scissors";
String c = "Paper";
//a > b
//b > c
//c > a
String answer = "";
do {
System.out.println("Player one choose:");
String x = in.nextLine();
System.out.println("Player two choose:");
String y = in.nextLine();
answer = "";
if ((x.equalsIgnoreCase(a) && (y.equalsIgnoreCase(b)))) {
System.out.println("Player one won");
} else if ((x.equalsIgnoreCase(b) && (y.equalsIgnoreCase(c)))) {
System.out.println("Player one won");
} else if ((x.equalsIgnoreCase(c) && (y.equalsIgnoreCase(a)))) {
System.out.println("Player one won");
} else {
System.out.println("Player two won");
}
System.out.println("Do you want to play again? YES / NO");
answer= in.nextLine();
}
while (answer.equalsIgnoreCase("YES"));
if (answer.equalsIgnoreCase("NO")){
System.out.println("Goodbye!");
}
}
如果你愿意,你可以制作 2 个类,这样会更干净,但这个答案将在你的主要功能中完成工作,不需要其他类
推荐阅读
- aws-lambda - 每当 tableau 发送数据驱动警报时,我都想触发外部 API 调用
- sql - Oracle SQL - 如何返回具有以特定数字结尾的最高 ID 的名称
- gnuplot - 在 Gnuplot 的多轴图中显示误差线
- json - ¿如何计算flutter文件夹中json文件的数量?
- c# - C# JsonSerializer.Serialize
- >(numbers) 将输出一个包含 0 列表的 json
- php - 无法在 Mac Big Sur 上安装 PHP yaml 扩展
- azure-blob-storage - 使用 azure storage python 客户端库时“连接”字符串的任何替代方法?
- python - 从 Python HTMLParser 返回数据
- linux - Docker 容器挂载的文件共享路径未更新
- blockchain - 如何保护基于 PoW 的区块链免受 51% 攻击?