Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 同时比较数组中的字符串和整数_Java_Arrays_Io - Fatal编程技术网

Java 同时比较数组中的字符串和整数

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 起初,这个练习要求我编写一个程序,读取文档并打印某个团队

我正在做一个练习,要求我阅读一个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
起初,这个练习要求我编写一个程序,读取文档并打印某个团队玩了多少场比赛。现在它想让我写一篇文章来比较分数,并打印出该特定团队的胜负总数。我尝试了一百万种不同的方法,有没有一种有效的方法可以同时比较字符串和整数

我的代码如下:

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) {
  ...
}