Java 同时比较数组中的字符串和整数
我正在做一个练习,要求我阅读一个csv格式的文件,并询问用户关于他希望程序查找的单词的输入。这是文档的格式,索引0和1是球队名称,因此字符串和索引2和3是比赛分数:Java 同时比较数组中的字符串和整数,java,arrays,io,Java,Arrays,Io,我正在做一个练习,要求我阅读一个csv格式的文件,并询问用户关于他希望程序查找的单词的输入。这是文档的格式,索引0和1是球队名称,因此字符串和索引2和3是比赛分数: ENCE,Vitality,9,16 ENCE,Vitality,16,12 ENCE,Vitality,9,16 ENCE,Heroic,10,16 SJ,ENCE,0,16 SJ,ENCE,3,16 FURIA,NRG,7,16 FURIA,Prospects,16,1 起初,这个练习要求我编写一个程序,读取文档并打印某个团队
ENCE,Vitality,9,16
ENCE,Vitality,16,12
ENCE,Vitality,9,16
ENCE,Heroic,10,16
SJ,ENCE,0,16
SJ,ENCE,3,16
FURIA,NRG,7,16
FURIA,Prospects,16,1
起初,这个练习要求我编写一个程序,读取文档并打印某个团队玩了多少场比赛。现在它想让我写一篇文章来比较分数,并打印出该特定团队的胜负总数。我尝试了一百万种不同的方法,有没有一种有效的方法可以同时比较字符串和整数
我的代码如下:
import java.nio.file.Paths;
import java.util.Scanner;
public class SportStatistics {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("File:");
String file = scan.nextLine();
System.out.println("Team:");
String team = scan.nextLine();
try ( Scanner reader = new Scanner(Paths.get(file))) {
int totalGames = 0;
int teamPoints = 0;
int otherPoints = 0;
int wins = 0;
int losses = 0;
while (reader.hasNextLine()) {
String info = reader.nextLine();
if (info.isEmpty()) {
continue;
}
String[] parts = info.split(",");
String homeN = parts[0];
String visitorN = parts[1];
int homeP = Integer.valueOf(parts[2]);
int visitorP = Integer.valueOf(parts[3]);
for (String part : parts) {
if (part.equals(team)) {
totalGames++;
}
if(homeN.equals(team)){
teamPoints = homeP;
otherPoints = visitorP;
if(teamPoints > otherPoints){
wins ++;
}else{
losses ++;
}
}
if(visitorN.equals(team)){
teamPoints = visitorP;
otherPoints = homeP;
if(teamPoints > otherPoints){
wins ++;
}else{
losses ++;
}
}
}
}
System.out.println("Games: " + totalGames);
System.out.println(wins);
} catch (Exception e) {
}
}
}
(这是一种使用数据库更有意义的问题)
首先,你想要的是一个游戏类
public class Game {
String team1;
String team2;
int team1Score, team2Score;
public Game(String t1, String t2, int score1, int score2);
}
现在,您需要制作一个游戏集合(可能是一个列表)
List games=new ArrayList();
然后您要将所有游戏添加到列表中
那你就有选择了。你可以为你所有的球队创建一张地图和列表,其中包括他们玩过的所有比赛。或者你可以做一个方法,比如
public List<Game> getGamesForTeam(String teamName, List allGames) {
...
}
public List getgamesfortam(字符串teamName,列出所有游戏){
...
}
这将提取包含团队名称的游戏列表
希望这对你有意义,并能让你开始学习我还没有学会数据库,所以必须坚持我所知道的。让我看看我是否理解正确。创建游戏类,然后使用split方法在ArrayList中创建游戏类的新对象。然后创建一些能够提取我需要的信息的方法。我想我明白了。谢谢。@Nicolearagao听上去你已经拿到了我想不出来了。现在我无法访问我在课堂游戏中创建的方法。我认为这是因为toString方法,因为我只看到了散列值,但我修改了它,仍然无法访问我的getter和setter。如果你能指引我正确的方向,我会在答案中添加我的代码。
public List<Game> getGamesForTeam(String teamName, List allGames) {
...
}