gpt4 book ai didi

java - 从字符串列表中提取并排序顶部 int 值

转载 作者:行者123 更新时间:2023-11-30 04:11:52 25 4
gpt4 key购买 nike

我有一个 java 程序,它正在扫描包含以下信息的文本文件:

高级武术文凭
(伯类克斯忍者学校)
阿德金斯,斯科特 72
布莱克, jack 44
卡拉丁,大卫 81
陈,杰基 75
周星驰 77
周永发 79
Jaa, Tony 71
李,布鲁斯 76
李,杰特 76
诺里斯,查克 71
奥德科克,史蒂夫 58
里维斯、基努 62
乌艾斯、伊科 75
日元、唐尼 80
杨紫琼 79
张子仪 75

飞行员(星际舰队学院)
阿彻,乔纳森71
珍妮薇,凯瑟琳 74
柯克、詹姆斯 T. 79
皮卡德、让-吕克 85
派克、克里斯托弗 80
赖克、威廉 79

高级 Action 英雄(迪士尼大学)
阿拉丁 91
本尼迪克特、朱利叶斯 45
布鲁尔、戈迪 82
柯南 60
鸭子、唐纳德 40
不可思议先生 85
矩阵、约翰 64
老鼠、米奇 51
欧文斯、雷 82
波平斯、玛丽 85
奎德、道格拉斯 75
理查兹、本 68
辛巴 80
斯莱特、 jack 80
终结者、90
塔利、路易斯 DNF

着装、举止与优雅

比伯、贾斯汀33
布洛克、桑德拉 80
西科尼、麦当娜 60
赛勒斯、麦莉 40
加加、Lady 50
Lauper、Cindi 55
Minaj、Nicki 45
Sarkisian、雪儿 75

就这样了,各位!

这是到目前为止我扫描文本文件并返回格式化值的代码:

public static void main(String[] args) throws Exception {
Scanner fileScanner = new Scanner(new File("lists.txt"));
String line = fileScanner.nextLine().trim();

String programName;
String schoolName;
String topStudent;
int topGrade;



while (!line.equals("That's All, Folks!")) {
//extract a program's information
System.out.println("");
System.out.println(line.trim());
line = fileScanner.nextLine().trim();
line = line.replaceAll("\\s+", " ");
System.out.println("");
while (!line.isEmpty()) {

//deal with one student
System.out.println(line);
line = fileScanner.nextLine().trim();
line = line.replaceAll("\\s+", " ");
}
//displays summary information for a program
line = fileScanner.nextLine().trim();
}
}

我应该检查这些字符串(有些有一个,有些有两个名字。其中一个有 DNF 而不是等级)。我将如何只返回每个程序中每个人的姓名和最高成绩,如下所示:

高级武术文凭
(伯类克斯忍者学校)
大卫卡拉丁

飞行员
(星际舰队学院)
让-吕克·皮卡德

高级 Action 英雄
迪士尼U)
阿拉丁

着装、举止和优雅
桑德拉·布洛克

编辑:添加变量

最佳答案

所以一个好的起点是

line = line.replaceAll(", ", ",");
String[] split = line.split(" ");

在分割数组中,如果是人,则包含 [name, mark];如果是学院名称,则仅包含 [name]。

关于java - 从字符串列表中提取并排序顶部 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19411847/

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