所以标题有点罗嗦,所以我会尝试更好地解释我的问题。
所以基本上这个程序要做的是,从一个文本文件中导入一个大的数字列表(排序如下):
3679 87
196 60
17914 12
18618 64
2370 65
... ...
etc. (for 45 more lines),
然后将两列排序为两个不同的数组,然后按整数值对它们进行排序。左栏是商品 ID,右栏是库存数量。
到目前为止我已经尝试过:我尝试将整个列表变成一个字符串数组,然后我尝试将数组拆分为两个数组列表,并用每个逗号分隔它们。但我无法成功地做到这一点。此外,我尝试在 for 循环中执行此操作,它跳过逗号,只是将下一个值添加到两个不同的数组列表中。
这是我当前的代码:
import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Store {
public static void main(String[] args) {
// **************Scanner s = new
// Scanner(input).useDelimiter("\\s*,\\s*");
ArrayList<Integer> numbers = new ArrayList<Integer>();
ArrayList<Integer> ids = new ArrayList<Integer>();
ArrayList<Integer> inventory = new ArrayList<Integer>();
ArrayList<String> numbersString = new ArrayList<String>();
try {
int x = 0;
int s = 0;
Scanner in = new Scanner(new File("file50.txt"));
in.useDelimiter(",");
while (in.hasNext()) {// grabs all numbers in text file
String f = in.next();
numbersString.add(f);
String toPrint = "";
for (int i = 0; i < numbersString.size(); i++) {
toPrint += numbersString.get(i) + " ";
}
String[] nums = toPrint.split("\\s+");
// System.out.println(toPrint);
System.out.print(Arrays.toString(nums));
// System.out.print(nums);
}
} catch (Exception i) {
i.printStackTrace();
}
}
}
如果有人可以帮助我并建议我应该做些什么来实现我的目标,将不胜感激。如果我仍然没有足够清楚地说明我正在尝试做什么,请告诉我。我会尽力解释
我不想复制和粘贴代码,只是想知道该怎么做。
谢谢