当前位置: 首页 > 知识库问答 >
问题:

Java在用例之间切换,而不是每次跳过剩余的用例

濮阳祯
2023-03-14

我是Java新手,希望得到一些帮助。我在这里要做的是在案件之间切换。然而,我也需要的是不要跳过这个程序中的剩余情况。

我的意思是下面的代码应该输出:二四三四

public class X {
    public static void main(String[] args) {
        String n = "two";
        while(true)
        {
            switch (n)
            {
                case "zero":
                {
                    System.out.println("zero");
                    n="one";
                }
                case "one":
                {
                    System.out.println("one");
                    n="three";
                }
                case "two":
                {
                    System.out.println("two");
                    if (12>3)
                    {
                        n="four";
                        break;
                    }
                }
                case "three":
                {
                    System.out.println("three");
                }
                case "four":
                {
                    System.out.println("four");
                    return;
                }
            }
        }
    }
}

共有1个答案

刘丰羽
2023-03-14

您可以对此使用queue
每个案例都负责按照预期的执行顺序将下一个案例添加到队列中。

Queue q = new LinkedList();
q.add("two");
String n = (String)q.poll();
while(n!=null)
{
    switch (n)
    {
        case "zero":
        {
            System.out.println("zero");
            q.add("one");
            break;
        }
        case "one":
        {
            System.out.println("one");
            q.add("three");
            q.add("two");
            break;
        }
        case "two":
        {
            System.out.println("two");
            if (12>3)
            {
                q.add("four");

            }

             q.add("three");
             break;
        }
        case "three":
        {
            System.out.println("three");
            q.add("four");
            break;
        }
        case "four":
        {
            System.out.println("four");
            break;
        }
    }
    n=(String) q.poll();
}
 类似资料:
  • 我正在开发一个android应用程序,它使用导航抽屉在两个片段之间切换。然而,每次我切换时,片段都会被完全重新创建。 这是我主要活动的代码。 我设置了一些调试日志记录,每次调用selectItem时,都会销毁一个片段,而创建另一个片段。 有什么方法可以防止碎片被重新创建,而只是重复使用它们吗?

  • 如果它们是具有以下数据的两个过程,甘特图应该如何?(SRTF 调度) 进程到达突发 P1 0 17 P2 1 16 那么,进程P1会先完成,然后P2会开始执行……还是P1必须等待16毫秒?

  • 我偶然发现了这种并发症,花了4个多小时调试和谷歌搜索,但无济于事... 基本上我这里有1个JFrame,2个JPanel。我将JFrame设置为JPanel的第1个内容窗格,当我运行应用程序时,JFrame将显示,其中包含JPanel。 现在这个JPanel里面有1个JButton,当我点击它时,我希望它切换到另一个JPanel。正如您从代码中看到的,当我单击JButton(AddProduct)

  • 问题内容: 我想通过单击JPanels上的按钮在JPanels之间切换。 例如:我有一个带有JButton simknop的JPanel sim和一个带有JButton helpknop的JPanel帮助,我想通过单击按钮在这两个JPanel之间进行切换。当我单击JButton simknop时,应显示JPanel帮助;当我单击JButton帮助时,应显示JPanel sim。 您可以在下面找到不

  • 我有一个带有多个面板的JFrame类,我通过使用paintComponent(graphics g)方法绘制所有的图形,因此使用CardLayout没有任何用处。要切换帧,我只需点击一个按钮,比如回车,但问题是,当我切换面板时,paintCompenent中剩下的图形仍然存在。我还尝试使用panel.setvisible(false)使面板可见,这有点帮助,只是我要转换到的面板仍然不可见,即使在将

  • 我有一个带有底栏的main_activity。我正在使用这个底栏在片段之间导航。然而,有一个片段不能通过底部栏直接导航。它必须通过MapView和从片段中访问。然而,每当我使用InfoWindow时,该应用程序就会崩溃。这是我的代码 异常:main process:com.teslaqubitsins.fasih.teslahcm,pid:2573 java.lang.nullpointerexc