带有开关盒的 JOptionPane

Posted

技术标签:

【中文标题】带有开关盒的 JOptionPane【英文标题】:JOptionPane with switch cases 【发布时间】:2014-03-17 03:44:40 【问题描述】:

好吧,这段代码实际上运行了,但输出错误(特别是在“随机”情况下)

注意:它有一个随机生成器用于随机结果或输出

我想知道这段代码有什么问题。

package gametest1;

import java.util.Random;
import javax.swing.JOptionPane;

public class Gametest1 

    private static int select1;


    public static void main(String[] args)
    
        int menu1;

        do 
        
            String menu = JOptionPane.showInputDialog("THE BIRTHDAY GAME"+"\n\nMENU"+"\n1.PLAY"+"\n2.EXIT"+"\n\n"); 
            menu1 = Integer.parseInt(menu);

            switch(menu1)
            
                case 1:
                    do

                    
                        String select = JOptionPane.showInputDialog("Choose\n"+"\nPRESS '6' TO EXIT"+"\n\n"+"\nENTER YOUR BIRTHDAY FROM 1-5");
                        int select1 = Integer.parseInt(select);

                        Random generator = new Random();

                       if (select1 == 6)
                       
                           JOptionPane.showMessageDialog(null,"BACK TO MAIN MENU!");
                           break;
                       


                       int random = generator.nextInt(select1);

                       switch(random)
                       


                           case 1:
                           
                               JOptionPane.showMessageDialog(null,"RANDOMmessage1"+random);
                               break;
                              
                           case 2:
                           
                               JOptionPane.showMessageDialog(null,"RANDOMmessage2"+random);
                               break;
                            
                           case 3:
                           
                               JOptionPane.showMessageDialog(null,"RANDOMmessage3"+random);
                               break;
                              
                           case 4:
                           
                               JOptionPane.showMessageDialog(null,"RANDOMmessage4"+random);
                               break;
                             
                           case 5:
                           
                               JOptionPane.showMessageDialog(null,"RANDOMmessage5"+random);
                               break;
                             

                           default:
                           
                           JOptionPane.showMessageDialog(null,"WRONG INPUT");
                           break;
                           


                       
                    

                    while (select1 !=5);
                    break;

                case 2:
                    JOptionPane.showMessageDialog(null,"menu case2: adios!");
                           System.exit(0);
                default:
                     JOptionPane.showMessageDialog(null,"Program will return");
                    break;


            
        
        while (menu1 !=2);
    


【问题讨论】:

具体是什么问题???我没有发现任何错误 我的回答解决了你的问题吗? 问题已解决...谢谢!只是有点混乱 【参考方案1】:

你想要的

switch(select1)

而不是

switch(random)

【讨论】:

哦,好的,谢谢您的回复。这是流程...无论您想输入什么整数,结果都是随机的。这就是为什么我决定用 JOptionPane.showMessageDialog(null,""+random); 解决我的问题的原因即使有案件。

以上是关于带有开关盒的 JOptionPane的主要内容,如果未能解决你的问题,请参考以下文章

开关盒的样式

Swift中开关盒的详尽条件

减少非空开关盒的数量

使用开关盒的三个数字中的最大值[关闭]

什么是大型开关盒的好替代品?

Java - 如何在开关盒中存储数组