gpt4 book ai didi

java - 让我的程序分别读取 3 行

转载 作者:行者123 更新时间:2023-12-01 05:18:05 24 4
gpt4 key购买 nike

这是我的程序,它从文件中读取,但我去参加文件阅读器的讲座,所以我就即兴发挥了。该程序当前读取一行并打印出其中的前 3 个值,但它仅适用于文件中的一行。

import java.util.*;
import java.io.*;
public class ProcessdatdereFile
{
public static void main (String[] args)throws IOException{
List namenum=readM("data/raw.txt");
dataProcess(namenum);
}

public static List readM(String filename)throws IOException{
Scanner fr=new Scanner(new FileReader(filename));
List<String>namenum=new ArrayList<String>();
while(fr.hasNext()){
namenum.add(fr.next());
}
fr.close();
Collections.sort(namenum,Collections.reverseOrder());
return namenum;
}

public static void dataProcess(List namenum)throws IOException{
for(int i=0;i<4;i++){
System.out.printf("%s ",namenum.get(i));
}
System.out.println("");
}
}

raw.txt 包含

Mary 45 87 23 76
Joe 34 76 12 78 34 87
Anne 90 5 99

程序需要在单独的行上打印每个名字和前 3 个分数。欢迎长篇回复。提前致谢。

最佳答案

您想在这里排序什么。

   Collections.sort(namenum,Collections.reverseOrder());

namenum 是文件中所有单个项目的列表。

  Mary 45 87 23 76

此列表中的每个项目都是列表中的单独项目。

您需要使用nextLine()。对于每一行,您需要跳过第一个标记(即名称),并将行上的其余数据转换为整数数组,然后对其进行反向排序。

关于java - 让我的程序分别读取 3 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10892004/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com