0

我最近在这里问了一个问题,并学习了如何拆分我的阵列。现在我正在处理存储分离的数组。我知道这段代码可能是非常错误的,因为我只是想自己弄清楚。此代码的预期目的是查看在拆分数组(最多 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++;
}
}
4

2 回答 2

0

new result[a]是...某种...语法,用于初始化包含result实例的数组,大小为a。但这不是你的意思——你没有一个名为 的类result,你只想从名为 的数组中取出result元素。正确的?

只需删除, 和声明中new的额外内容。[]name

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

我想您会发现Java 教程:数组非常有用。


未来使用提示:如果你想打印一个数组,你不需要做所有这些跑腿的工作。只需使用Arrays#toString().

于 2013-03-26T00:22:48.730 回答
0

除了马特鲍尔之前说的,你还需要做

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

并删除 a++、b++、c++ 和 d++。原因是,当您拆分时,result[0] 和 result[1] 分别保存 name 和 degree 的值。

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

于 2013-03-26T01:36:27.717 回答