Это моя программа, которую она читает из файла, но я был в отъезде для чтения лекций для читателей файлов, поэтому я их закрываю. Эта программа в настоящее время читает в одной строке и выводит из нее верхние 3 значения, но она работает только с одной строкой в файле.Моя программа читает 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 баллов по отдельным линиям. Длинные ответы приветствуются. Спасибо заранее.
Что вы хотите сказать? –
Какой вопрос? В чем проблема? – tibo
изменить fr.next() на fr.nextLine()? –