如何在Java中的JOptionPane中输入和输出名称

问题描述 投票:0回答:1

我正在制作一个使用JOptionPane输入和输出名称的程序。

如果输入完名称以自动返回菜单并再次选择一个选项,以便可以在显示名称部分中选择并查看输入的名称,该怎么办?

int choice = Integer.parseInt(JOptionPane.showInputDialog("[1] Insert Name\n[2] Display Name"));
JOptionPane.showMessageDialog(null, "Names: "+values[i]);
public static void main (String args []) {

    String [] values = new String [10];
    int choice = Integer.parseInt(JOptionPane.showInputDialog("[1] Insert Name\n[2] Display Name"));

    if (choice == 1) {
        for (int i = 0; i < 1; i ++) {
            values[i] = JOptionPane.showInputDialog("Insert Your Name: ");
        }   
    }

    if (choice == 2) {
        for (int i = 0; i < 1; i++) {
            JOptionPane.showMessageDialog(null, "Names: "+values[i]);
        }
    }
}
java
1个回答
0
投票

首先,如果您不知道要使用多少个名称,请使用列表。然后,在显示时必须循环所有字符串,这样才能显示所有字符串。您的循环只是遍历第一个元素。

此外,添加名称时,必须添加它,并且不能覆盖第一个名称。如果要返回选择,则需要使用循环。

以下代码应该可以,但是我认为您应该在开始编写代码之前就了解基本的控制结构。

public static void main (String[] args) {
    LinkedList<String> nameList = new LinkedList<String>();

    while (true) {  // Repeat forever
        int choice = Integer.parseInt(JOptionPane.showInputDialog("[1] Insert Name\n[2] Display Names"));

        if (choice == 1) 
            nameList.add(JOptionPane.showInputDialog("Insert Your Name: "));

        if (choice == 2) 
            for (String name: nameList)  // loop over all strings in the list
                JOptionPane.showMessageDialog(null, "Name: "+ name);
    }
}

但是请注意,您需要输入import java.util.LinkedList;才能起作用。

© www.soinside.com 2019 - 2024. All rights reserved.