java - 复杂循环帮助。 java

标签 java loops crash

这个程序是一个简单的纸牌游戏,我被一个复杂的循环所困扰。这张“火”卡需要检查它的 2 个相邻游戏板插槽,看看它是否被另一张卡占用,如果是,则它是否是它可以影响的卡。对于这个循环,它要么需要成功运行一次,要么需要运行两次不成功。我以为我已经用下面的代码解决了这个问题,但是当它运行循环失败时,程序崩溃了,没有错误。让我知道你的想法,谢谢。

这段代码只是方法,不包括main。

public static void fireAction(String slotSelection)
{
    switch (slotSelection)
    {
        case "A1":
            {
                boolean x = true;
                boolean y = true;
                boolean end = false;
                while ((y == true && x == true) || (end == false))
                {   
                    int burn = roll.nextInt(2);
                    switch (burn)
                    {
                        case (0):
                            if ((newBoard.getSlotA2() == "fire") | (newBoard.getSlotA2() == "wind")){
                                newBoard.setSlotA2("BURNED");
                                end = true;}
                            else
                                x = false;
                            break;
                        case (1):
                            if ((newBoard.getSlotB1() == "fire") | (newBoard.getSlotB1() == "wind")){
                                newBoard.setSlotB1("BURNED");
                                end = true;}
                            else
                                y = false;
                            break;
                    }//end switch
                }//end while
            }//end case A1
            break;

最佳答案

尝试使用&&而不是|| :

    while ((y == true && x == true) && (end == false))

也许你应该使用 ||而不是 |在以下代码中:

 if ((newBoard.getSlotA2() == "fire") | (newBoard.getSlotA2() == "wind"))

关于java - 复杂循环帮助。 java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18028459/

相关文章:

javascript - 列和行的值

.net - PowerBuilder 中嵌入的 .NET 控件随机崩溃

ios - 核心情节使我的应用使用乐器崩溃

java - 如何部署一个简单的Drools应用程序?

java - 如何以 AM/PM 格式显示时间

sql - 如何循环PL/SQL的:=a+2;

r - 测试元素是否在列表中并返回 0 或 1

android - 到达光标时,Android应用程序崩溃

java - 用于跨多个 war 文件共享 session 数据的 Tomcat ServletContext 与 JNDI

java - 迭代器、列表迭代器和 CopyOnWriteArrayList 之间的区别