【问题标题】:Search a 2D Array for a string of another 1D Array and then put them in a new 2D with the sorting of the 1D在 2D Array 中搜索另一个 1D Array 的字符串,然后将它们放入一个新的 2D 中
【发布时间】:2019-04-11 20:57:45
【问题描述】:

这个标题一定很混乱,所以让我解释一下我的问题。

我有一个按我需要的方式排序的一维数组(我们称之为“ids”)。

然后,我有另一个二维数组,其中包含位置 0 的名称和位置 1 的 id(我们称之为“名称”)。

所以名称[0][0] = 名称,名称[0][1] = id。

让我澄清一下,这两个数组的长度不同!

我想做的是创建一个新的二维数组,它有一个名称和一个 ID,但像我的一维数组一样排序(id 的顺序与它们在那里的顺序相同)。

到目前为止我尝试过的是这个(我得到的只是一个充满空值的文本文件):

for (int i = 0; i < ids.length; i++){
            String equal = ids[i];

            for (int j = 0; i < users.length; i++) {
                if(users[j][1].equals(equal)) {
                    sortedArray[i][0] = users[j][0];
                    sortedArray[i][1] = equal;
                }
            }

        }

        for (int i=0; i<sortedArray.length; i++){
            writer.println(sortedArray[i][0]+"\t"+sortedArray[i][1]);
        }

它可能没有任何用处,但由于我是通过读取文件来创建这些的,所以这是我的代码的其余部分:

BufferedReader reader;
        BufferedReader reader2;
        PrintWriter writer;

        String[][] users = new String[39431][2];
        String[] ids = new String[22890];
        String[][] sortedArray = new String[22890][2];

        reader = new BufferedReader(new FileReader("allConnectedUsers.txt"));
        reader2 = new BufferedReader(new FileReader("ids.txt"));

        String sorted = "sortedNamesWithIDs.txt";
        writer = new PrintWriter(sorted, "UTF-8");

        String usersline = reader.readLine();
        String idsline = reader2.readLine();


        for (int i = 0; i < users.length; i++) {
            String splittedLine[] = usersline.split(" ");
            String name = splittedLine[0];
            String id = splittedLine[1];
            users[i][0] = name;
            users[i][1] = id;
            usersline = reader.readLine();
        }

        for (int i = 0; i < ids.length; i++) {
            String onlyIDs;
            onlyIDs = idsline;
            ids[i] = onlyIDs;
            idsline = reader2.readLine();
        }

【问题讨论】:

    标签: java arrays file sorting search


    【解决方案1】:

    我确实修好了。这是一个非常愚蠢的错误。

    在嵌套循环中,我没有检查“j”或增加它,而是 i。

    抱歉这个愚蠢的错误,感谢您阅读。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-15
      • 2020-12-11
      • 2021-05-05
      • 2021-02-13
      • 2020-05-18
      • 2021-11-01
      • 2018-08-25
      • 2021-07-28
      相关资源
      最近更新 更多