java - 带数组的多个输入

标签 java arrays arraylist user-input joptionpane

我需要编写一个程序,帮助根据当年确定下一年的“同行建议”预算。用户将被要求提供同行顾问的姓名和他们获得的最高学位,以便确定向他们支付多少钱。我使用的是 JOptionPane 而不是 Scanner,而且我还使用了 ArrayList

有没有一种方法可以让用户在一个输入中同时输入姓名和学位并将它们存储为两个不同的值,或者我是否必须有两个单独的输入对话框?示例:将姓名存储为“Name1”,将学位存储为“Degree1”,以便计算他们的具体工资。

此外,我正在使用 ArrayList,但我知道该列表最多需要容纳六 (6) 个元素,是否有更好的方法来完成我想要做的事情?

如果有必要的话,这是我在开始考虑这个问题之前所记录的内容。

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

public class PeerTutoring
{
    public static void main(String[] args)
    {
        ArrayList<String> tutors = new ArrayList<String>();

        for (int i = 0; i < 6; i++)
        {
            String line = null;
            line = JOptionPane.showInputDialog("Please enter tutor name and their highest earned degree.");
            String[] result = line.split("\\s+");
            String name = result[0];
            String degree = result[1];
        }
    }
}

最佳答案

"有没有办法让用户同时输入姓名和学位 在一个输入中,但将它们存储为两个不同的值。”

是的。例如,您可以要求用户输入以空格分隔的输入,然后拆分结果:

String[] result = line.split("\\s+"); //Split according to space(s)
String name = result[0];
String degree = result[1];

现在您有两个变量的输入。

“我决定使用ArrayList,但我知道将输入的名称数量(6),是否有更合适的数组方法可供使用?”

ArrayList 可以,但是如果长度固定的话,可以使用固定大小的数组。

<小时/>

关于OP更新

你做错了,应该是这样的:

ArrayList<String[]> list = new ArrayList<String[]>(6);
String[] splitted;
String line;
for(int i=0;i<6;i++) {
    line = JOptionPane.showInputDialog("Please enter tutor name and their highest earned degree.");
    splitted = line.split("\\s+");
    list.add(splitted);
}

for(int i=0;i<6;i++)
    System.out.println(Arrays.deepToString(list.get(i))); //Will print all 6 pairs

您应该创建一个ArrayList,其中包含一个表示输入的字符串数组(因为用户输入对作为输入)。现在,您所要做的就是将此对插入到ArrayList中。

关于java - 带数组的多个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15485885/

相关文章:

c++ - 在 C++ 中存储一组坐标集(成对 vector 的 vector ?)

java - 无法在类中的两个数组之间使用相等运算符来模仿 ArrayList 的工作原理

java - 如何将 JSON 映射到 java 模型类

java - Java中 "this"是什么意思?

javascript - 如何判断数组是否包含另一个特定数组,而不仅仅是其元素?

java - 包含另一个数组列表的数组列表的序列化

grails - 返回列表的Grails taglib

java - 如何正确使用Java方法?

java - "Double"与 CompletableFuture 的组合

c - 如何在编译时获取初始化列表中的元素总数?