Вот я уже пару дней бьюсь об этом и не могу заставить его работать. Занимаюсь спортивной статистикой по МОО C Java курс. Я должен проверить, сколько игр сыграла команда (имя которой вводит пользователь).
В файле data.csv есть несколько строк, каждая из которых содержит имя 1, имя 2, точки 1 , баллы 2.
Итак, если пользователь вводит, например, «SJ», программа проверяет, сколько раз SJ упоминается в файле (ie. сколько игр сыграла эта команда) и увеличивает счет на 1 каждый раз, когда он упоминается.
Я также пытался сделать это, не создавая новый класс, однако результат все еще не тот, который я должен получить, так как я не могу использовать функцию «для каждого» , поэтому я всегда получаю count = 1, если появляется команда.
Есть ли решение для этого упражнения?
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Scanner;
public class SportStatistics {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
ArrayList<Game> games = new ArrayList<>();
int count = 0;
System.out.println("File: ");
String file = scan.nextLine();
try(Scanner scanner = new Scanner(Paths.get(file))){
while(scanner.hasNextLine()){
String line = scanner.nextLine();
String[] parts = line.split(",");
String team1 = parts[0];
String team2 = parts[1];
int result1 = Integer.valueOf(parts[2]);
int result2 = Integer.valueOf(parts[3]);
games.add(new Game(team1,team2,result1,result2));
}
}catch(Exception error){
System.out.println("Error " + error.getMessage());
}
System.out.println("Team: ");
String team = scan.nextLine();
}
}
public class Game {
private String team1;
private String team2;
private int points1;
private int points2;
public Game(String team1, String team2, int points1, int points2){
this.team1=team1;
this.team2=team2;
this.points1=points1;
this.points2=points2;
}
public String toString(){
return this.team1 + ", " + this.team2 + ", "+ this.points1 + ", " + this.points2;
}
}
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