繁体   English   中英

有人可以帮我这个Java代码吗? 循环错误

[英]Can someone help me with this java code? Loop error

我不熟悉编程,正在尝试制作更高或更低的游戏,但是有一些问题。 首先,我想让程序在猜对卡时循环,即选择较低的选项,并且较低。 但是,它在第​​二个循环后崩溃,什么也没有发生。 游戏结束后,我会选择再次玩,什么都没有发生。 如果有人可以帮助我解决这些问题,将不胜感激。 谢谢

import

尝试这个 :

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    int card = 0;
    int cardNext;

    String userResponse;
    String userPlayAgain;
    boolean userGuessedRight = true;

    do {
        do {
            Random randomNumbers = new Random();
            card = randomNumbers.nextInt(13 - 1 + 1) + 1;
            System.out.println("Card is " + card);

            System.out.print("Higher or Lower?");
            cardNext = randomNumbers.nextInt(13) + 1;
            userResponse = scan.next();
            userGuessedRight = (userResponse.equalsIgnoreCase("H") && cardNext >= card)
                    || (userResponse.equalsIgnoreCase("L") && cardNext <= card);

            if (userGuessedRight) {
                System.out.println("Card is " + cardNext);
                System.out.print("Higher or Lower?");
                userResponse = scan.next();
            } else {
                break;
            }
        } while (userResponse.equalsIgnoreCase("H") && cardNext < card || userResponse.equalsIgnoreCase("L") && cardNext > card);
        System.out.println("Card is " + cardNext);
        System.out.println("Card is higher/lower you lose – play again? Y/N : ");
        userPlayAgain = scan.next();
    } while (userPlayAgain.equalsIgnoreCase("Y"));

    do {
        if (userPlayAgain.equalsIgnoreCase("N"))

        {
            System.out.print("Thank You.");
            break;
        }

    } while (!userPlayAgain.equalsIgnoreCase("Y"));

    scan.close();
}

编辑

这是输出: 程序的输出

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM