【发布时间】:2019-05-16 18:19:53
【问题描述】:
我的老师要求我们导入一个包含 2043 个 Euromillions 密钥的文本文件,格式如下:
1987 45 12 14 39 43 48 8 10
1981 23 12 18 22 29 45 10 12
1980 6 29 31 45 46 50 4 8
2018 19 2 4 16 19 50 6 12
1986 23 1 10 33 38 42 7 12
1986 40 18 23 26 27 36 7 12
...
我已将文件导入到 ArrayList,我需要使用插入排序按日期对键进行排序(第一个数字是年份,接下来是星期),格式如下:
{1987/45} |12|14|39|43|48| |8|10|
{1981/23} |12|18|22|29|45| |10|12|
...
关于如何按日期对键进行排序并将它们存储在 Array 或 ArrayList 中的任何想法?
我已将文件导入 ArrayList,但如果这是个好主意,我尝试对 ArrayList 进行排序但没有成功。
private static ArrayList<String> ImportedKeys = new ArrayList<String>();
public static void importarChaves() {
String linha;
int year,week,ball1,ball2,ball3,ball4,ball5,star1,star2;
File file=new File("Documento/euromilhoes.txt");
Scanner leitor=null;
try {
leitor = new Scanner(file);
} catch (FileNotFoundException e) {
System.out.println("File not found");
e.printStackTrace();
}
int count = 0;
while(leitor.hasNextLine()){
linha=leitor.nextLine();
// System.out.println(linha);
Scanner lerString=new Scanner(linha);
year=lerString.nextInt();
week=lerString.nextInt();
ball1=lerString.nextInt();
ball2=lerString.nextInt();
ball3=lerString.nextInt();
ball4=lerString.nextInt();
ball5=lerString.nextInt();
star1=lerString.nextInt();
star2=lerString.nextInt();
ImportedKeys.add(linha);
count++;
lerString.close();
}
【问题讨论】:
-
我可以告诉你你是一个开始编码的学生。恭喜!尝试将您的挑战分解为可管理的部分,并编写处理每个部分的不同函数。此外,请多考虑选择有意义的变量名称 - 它会让您的代码对您和其他人都更具可读性
-
这不是一个“为我编写代码”的网站,您至少需要尝试一下您需要帮助的内容。请阅读How to Ask,对于未来的问题,您需要提供minimal reproducible example
-
@TheChubbyPanda 从来没有要求任何人为我编码,我只问是否有人知道如何使用里面的键对 ArrayList 进行排序,这不是这个网站帮助和获取的重点吗?你的问题得到解答了吗?
-
目前,您的问题不包含与排序有关的代码。您所做的只是将数字加载到 ArrayList 中。这个网站不解释算法,它主要帮助人们调试他们的代码。由于您没有提供要调试的排序代码,我假设您希望有人通过编码向您“解释”它。
标签: java arraylist text-files insertion-sort