【发布时间】:2019-05-03 16:05:45
【问题描述】:
目标是有一个排序的 input.txt,例如:
1 one
2 two
4 four
10 ten
来自 input.txt 的:
2 two
4 four
1 one
10 ten
到目前为止,在我的代码中,我已经对数字数组进行了排序,现在我必须更改 String 数组,因为它与 num 数组配对。我该怎么做?
import java.util.*;
import java.io.*;
//Noah Cavazos
public class SortingNumbers{
public static void main(String[] args) throws FileNotFoundException {
Scanner fin = new Scanner(new File("input.txt"));
int[] nums = new int[100];
String[] texts = new String[100];
int cnt = 0;
while(fin.hasNextInt()){
nums[cnt] = fin.nextInt();
texts[cnt] = fin.nextLine();
cnt++;
}
int[] Numbers = new int[cnt];
String[] Words = new String[cnt];
for(int i = 0; i < Numbers.length; i++){
Numbers[i] = nums[i];
Words[i] = texts[i];
//System.out.println(Numbers[i] + Words[i]);
}
Arrays.sort(Numbers);
//Arrays.sort(Words); < Alphabetically
}
}
【问题讨论】:
-
另一种方法是创建一个包含数值和字符串值的类,然后根据类中的数值进行排序。此外,由于不知道输入中有多少项,请考虑使用列表而不是数组。