JOptionPane中的多个名称输入

时间:2017-02-17 13:19:40

标签: java joptionpane

我正在尝试创建一个for循环,允许用户输入多个玩家名称(最多6个)并将每个玩家名称存储在一个变量(playerone,playertwo等;)中,并在每个提示名称之间存储应询问用户是否要输入其他玩家的姓名。我编写了for循环,但无法计算如何将每个输入分配给字符串变量。如果用户在对话框中选择“否”,则应该中断for循环。

if (text.equals(play)) {
    {
        {
            String Playerone = JOptionPane.showInputDialog(null, "Enter Player 1:");
            textArea.append("Player 1: " + Playerone);

            for (i = 2; i <= 6; i++) {
                int n2 = JOptionPane.showConfirmDialog(null, "Enter another player?", "",
                        JOptionPane.YES_NO_OPTION);

                if (n2 == JOptionPane.YES_OPTION) {
                    JOptionPane.showInputDialog(null, "Enter Player " + i + "\n");
                    textArea.append("Player " + i + ":" + "\n");

                }
                if (n2 == JOptionPane.NO_OPTION) {

                }
            }

        }
    }
}

3 个答案:

答案 0 :(得分:0)

if (n2 == JOptionPane.YES_OPTION) {
    JOptionPane.showInputDialog(null, "Enter Player " + i + "\n");
    textArea.append("Player " + i + ":" + "\n");

}else 
if (n2 == JOptionPane.NO_OPTION) {
    break;
}

使用此替换for循环中的ifs,它应该可以正常工作。你不能拥有动态变量名。使用任何类型的列表或数组

答案 1 :(得分:0)

只需使用protocols.Model.deserializeBinary(new Uint8Array(read)); 运算符即可。

使用break将所有名称存储在变量中。

Java ArrayList类使用动态数组来存储元素。

ArrayList

在java中迭代ArrayList<String> userNames=new ArrayList<String> if (n2 == JOptionPane.YES_OPTION) { String playerName = JOptionPane.showInputDialog(null,"Enter Player " + i + ":"); userNames.add(playerName); }else if(n2 == JOptionPane.NO_OPTION){ break; }

ArrayList

答案 2 :(得分:0)

JOptionPane.showInputDialog在用户按下ok时返回一个字符串,否则返回null。

&#34;我已经编写了for循环,但无法确定如何将每个输入分配给字符串变量&#34;

String Playerone = JOptionPane.showInputDialog(null,"Enter Player 1:" );

我可以看到你知道如何将每个值分配给字符串变量,不要不确定你的能力,除非你在不理解它的情况下将代码复制到某个地方。由于我们有多个玩家,我使用字符串数组来存储输入。

要回答第二个问题,要打破循环,只需输入break;

即可

总之,我们应该有这样的事情:

String Playerone = JOptionPane.showInputDialog(null,"Enter Player 1:" );
textArea.append("Player 1: " + Playerone);

String[] playernames = new String[5];

for(i=2; i<=6;i++) {

    int n2 = JOptionPane.showConfirmDialog(null,"Enter another player?" ,"",JOptionPane.YES_NO_OPTION);

    if(n2 == JOptionPane.YES_OPTION) {
         playernames[i-2] = JOptionPane.showInputDialog(null, "Enter Player "+ i + "\n");
         textArea.append("Player " + i + ":" + "\n" );


    }
    else if(n2 == JOptionPane.NO_OPTION) {
           break;

    }
 }