当连续输入错误时,循环中断java

2024-02-21

当您连续两次输入随机值(例如“i”)时,程序将终止。我希望“无效数据,请重试”和“您想再玩一次吗”不断重复,直到输入 N 或 Y。

7 8 5
No numbers match
Do you want to play again?
i
Invalid data please try again
Do you want to play again?
i
Thank you for using this program

它应该是:

7 8 5
No numbers match
Do you want to play again?
i
Invalid data please try again
Do you want to play again?
i
Invalid data please try again
Do you want to play again?

... 等等。

Code:

import java.util.Random;
import java.util.Scanner;

public class TestSlotMachine {

    public static void main(String[] args) {
        String choice;

        Scanner keyboardScanner = new Scanner(System.in);

        do {
            Random randomNumber = new Random();
            int slot1, slot2, slot3;

            slot1 = randomNumber.nextInt(9);
            slot2 = randomNumber.nextInt(9);
            slot3 = randomNumber.nextInt(9);

            System.out.println(slot1+" "+slot2+" "+ slot3);

            if (slot1 != slot2 && slot1 != slot3 && slot2 != slot3) {
                System.out.println("No numbers match");
            }
            else if (slot1 == slot2 && slot2 == slot3) {
                System.out.println("Three numbers match");
            }
            else {
                System.out.println("Two numbers match");
            }

            System.out.println("Do you want to play again?");
            choice = keyboardScanner.next();
            if (!choice.equalsIgnoreCase("n") && !choice.equalsIgnoreCase("y")) {
                System.out.println("Invalid data please try again");
                System.out.println("Do you want to play again?");
                choice = keyboardScanner.next();
            }

        } while (choice.equalsIgnoreCase("y"));

        System.out.println("Thank you for using this program");
        keyboardScanner.close();
    }
}

if (!choice.equalsIgnoreCase("n") && !choice.equalsIgnoreCase("y"))

可以变成

while (!choice.equalsIgnoreCase("n") && !choice.equalsIgnoreCase("y"))

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当连续输入错误时,循环中断java 的相关文章

随机推荐

  • Pandas 按每列分组并为每组添加新列

    我有一个像这样的数据框 lvl1 l1A l1A l1B l1C l1D lvl2 l2A l2A l2A l26 l27 wgt 2 3 15 05 3 lvls lvl1 lvl2 df pd DataFrame wgt lvls re
  • 多行字符串作为序列的一部分

    我不知道如何使用多行字符串作为 yaml 序列的一部分 foo bar bar2 gt super duper long string that I would like to have on multiple lines Another
  • Sql -WITH ... AS 的替代方案

    有没有一个高效的这个例子的替代SQL 我不想使用WITH AS 这是主要标准 WITH TEMP TABLE AS SELECT status COUNT 1 as total FROM XYZ GROUP BY status SELECT
  • Elastic beanstalk ebextensions/config:找不到包“libffi”

    这是我的配置 我在 ebextensions 中只有 2 个配置 01run config 和 02do config ebextensions 01run config packages yum python27 devel postgr
  • 无法运行 scons 并出现导入错误

    我已经安装了 scons 2 3 2 并安装了 python 2 4 当我运行 scons 时 我看到以下错误 scons Import failed Unable to find SCons files in usr bin engine
  • 对象数组的 AJV 模式验证

    我正在尝试使用 AJV 模式验证来验证对象数组 下面是示例代码 var Ajv require ajv var schemaValidator Ajv var innerSchema type object properties c typ
  • Javascript 非法令牌错误

    如果这是一个简单的问题 请原谅我 但我似乎无法找到这段代码的原因 function create content c var html div c div if c links var ul ul li a href http www my
  • Iframe SandBox 阻止嵌入对象

    为什么有例子Example http www ufilme ro index cereri 0 11为什么当我使用 沙箱我看不到播放器 我想使用沙箱只是为了阻止弹出窗口 但看起来如果我使用它我看不到播放器 有没有allow objects
  • 如何通过脚本从sql server代理获取失败的作业?

    我想获取 sql server 代理无法通过 sql 脚本启动或运行的失败作业 我创建了一个视图来获取sql server中失败的作业 CREATE VIEW dbo View Failed Jobs AS SELECT Job insta
  • 为什么遇到 302 响应时 WCF 无法调用 SOAP 服务?

    我编写了一个应用程序 首先调用 WCF 进行登录 我生成了带有服务引用的客户端代码 对于将服务安装到网络本地的客户来说 它工作得很好 然而 也有一个 SaaS 环境 其中这些相同的服务由企业权力控制 saas环境下 提示登录失败 使用 Fi
  • Javascript 多重或条件检查

    我进行了一些简单的 if else 检查 var IsCompanyContacttitleUpdate false var ContactStatus 1 if IsCompanyContacttitleUpdate false Cont
  • 无法使用 adb 从 Android 设备提取 APK

    我正在尝试从我的设备获取已安装应用程序的 APK 我正在按照中的说明进行操作这个答案 https stackoverflow com a 18003462 5466997但是在拉取它时 adb 说 APK 不存在 这是具体步骤 adb sh
  • 如何将Json对象从ajax传递到spring mvc控制器?

    我正在 SpringMVC 上工作 我正在将数据从 ajax 传递到控制器 但我的控制器中得到空值 请检查下面的代码 function searchText var sendData pName bhanu lName prasad aja
  • 在我的流程中了解 NIFI 中的通知和等待流程

    我是 NIFI 流程的新手 在我当前的工作中 我有通知和等待流程 有人可以帮助我理解这个流程吗 On what basis the Notify work in my case we have 4 schema files process
  • 获取第一行数据(如果存在于 SQLite 中)

    我正在编写一个应用程序 其中如果存在于 SQLite 数据库表中 我需要获取第一行数据 我已经编写了将数据存储到数据库中的代码 但现在我想从数据库中获取第一行数据到 TextView 中 助手类 Select Data public Str
  • Django - 在 render_change_form 中获取对象 ID (ModelAdmin)

    我有这两个模型和 modeladmin 在可用主机用户列表中添加新主机时 仅显示未分配给其他主机的主机用户 问题是 如果我编辑一个已经创建的主机 它的实际主机用户 ID 也会被过滤 所以我想要做的是排除当前分配的主机用户 ID 如何在从主机
  • Chrome 内容脚本不起作用:DOMContentLoaded 侦听器不执行

    我正在尝试编写可纠正 1 个论坛上的拼写错误的扩展代码 我正在尝试访问 p 标签 带有内容脚本 但它不会改变任何内容 使用下面的代码 document addEventListener DOMContentLoaded function d
  • 找不到“UIView”的接口声明

    我正在尝试添加一个目标 C祝酒图书馆 https github com scalessec Toast到我的 xcode 项目 但我收到了一些这样的错误 Cannot find interface declaration for UIVie
  • msiexec.exe - 嵌入

    我正在使用基于云的 EDR 平台来监控客户端受感染网络上发生的进程 我最近经常看到的是使用选项 Embedding 调用 msiexec exe C Windows System32 MsiExec exe Embedding 35507F
  • 当连续输入错误时,循环中断java

    当您连续两次输入随机值 例如 i 时 程序将终止 我希望 无效数据 请重试 和 您想再玩一次吗 不断重复 直到输入 N 或 Y 7 8 5 No numbers match Do you want to play again i Inval