拆分和存储数组的正确方法?

时间:2013-03-26 00:20:32

标签: java arrays string arraylist joptionpane

我最近在这里问了一个问题,并学会了如何拆分我的阵列。现在我正忙着存储分离的数组。我知道这段代码可能非常错误,因为我只是想弄清楚自己。此代码的目的是查看在拆分数组(最多10个名称和10度)之后是否可以存储输入。 System.out的目的是查看它们是否存储。我一直收到无法找到符号结果的错误。任何帮助表示赞赏。

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

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

    int a = 0;
    int b = 1;
    int c = 0;
    int d = 1;

    for(int i=0;i<20;i++) {
        String line;
        line = JOptionPane.showInputDialog("Please enter tutor name and their highest earned degree.");
        String[] result = line.split("\\s+");
        String[] name = new result[a];
        String[] degree = new result[b];
        a++;
        b++;
        System.out.println(name[c]);
        System.out.println(degree[d]);
        c++;
        d++;
}
}

2 个答案:

答案 0 :(得分:0)

new result[a]是......用于初始化包含result个实例的数组的语法,其大小为a。但这不是你的意思 - 你没有一个名为result的类,你只想获得名为result的数组的 out 元素。正确?

只需删除new声明中的[]和额外name

String name = result[a];
String degree = result[b];

我认为你会发现the Java Tutorial: Arrays非常有用。


提示将来使用:如果你想打印一个阵列,你不需要做所有这些工作。只需使用Arrays#toString()

答案 1 :(得分:0)

除了Matt Ball先前所说的,你还需要做

    System.out.println(name);
    System.out.println(degree);

System.out.println(name); System.out.println(degree);

并删除++,b ++,c ++和d ++。原因是,当你拆分时,结果[0]和结果[1]分别保存名称和度数的值。

您需要一个单独的机制来将这些值存储在列表中。