Исключение NoSuchElementException, создаваемое в заполненном файле CSV - PullRequest
0 голосов
/ 19 сентября 2019

Пара друзей пытается стать более универсальной в DotA, поэтому я пытаюсь написать программу, которая дает каждому случайные роли, а затем записывает, выиграла ли наша команда или проиграла в этой игре, а затем обновляет каждый выигрыш в зависимости от роли (есть5 ролей, а потом я также включаю «тренера» в том случае, если за нами кто-то наблюдает, заслуга в том, что одному и тому же человеку не приходится просиживать каждую игру)

Я решил использовать java, потому чтоэто язык, который я использую в школе прямо сейчас, поэтому, естественно, я хочу, чтобы каждый игрок был объектом, и все его индивидуальные данные хранятся вместе с объектом, а затем я использую таблицу CSV для хранения этих значений, чтобы в следующий разЯ запускаю программу, у всех по-прежнему одна и та же статистика, но здесь возникают проблемы.

Вот то, что у меня пока есть, в основном, просто пытаюсь заставить объекты вести себя правильно, прежде чем я приступлю к работе над всем остальным.

main.java, player.java и data.csv - это файлыrt этого проекта.

main.java

import java.util.*;
import javax.swing.*;
import java.awt.*;
import javax.imageio.*;
import java.io.*;

public class main {
    public static void main(String arg[]) throws IOException {
        File file = new File("data.csv");
        if(file.createNewFile()){
            System.out.println("data.csv File Created in Project root directory");
        }else System.out.println("File data.csv already exists in the project root directory");

        player[][] players = new player[15][1];
       int n = 0;
        for (int i = 0; i<14; i++)
        {       
            player player = new player();
            players[i][0]=player;
            n++;
        }

        for (int i = 0; i<n; i++)
        {
            players[i][0].getData(file);
            System.out.println(players[i][0]);
        }


    }
}

player.java

import java.util.*;
import java.util.List;

import javax.swing.*;
import java.awt.*;
import javax.imageio.*;
import java.io.*;

public class player {   
    String playerName;
    private int winsTotal, wins1, wins2, wins3, wins4, wins5, winsCoach, gamesTotal, games1, games2, games3, games4, games5, gamesCoach, index;
    public int flag = 0;
    public void Player() {
        winsTotal = 0;
        wins1 = 0;
        wins2 = 0;
        wins3 = 0;
        wins4 = 0;
        wins5 = 0;
        winsCoach = 0;
        gamesTotal = 0;
        games1 = 0;
        games2 = 0;
        games3 = 0;
        games4 = 0;
        games5 = 0;
        gamesCoach = 0;
        }

    public void getData(File f) throws IOException
    {
        Scanner s = new Scanner(f);
        s.useDelimiter(",");
        try {
        this.playerName = s.next();
        }
        catch (InputMismatchException e)
        {
            this.playerName = "null";
        }

        try {
        this.wins1 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.wins1 = 0;
        }

        try {
        this.wins2 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.wins2 = 0;
        }

        try {
        this.wins3 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.wins3 = 0;
        }

        try {
        this.wins4 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.wins4 = 0;
        }

        try {
        this.wins5 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.wins5 = 0;
        }

        try {
        this.winsCoach = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.winsCoach = 0;
        }

        try {
        this.winsTotal = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.winsTotal = 0;
        }

        try {
        this.gamesTotal = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.gamesTotal = 0;
        }

        try {
        this.games1 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.games1 = 0;
        }

        try {
        this.games2 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.games2 = 0;
        }

        try {
        this.games3 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.games3 = 0;
        }

        try {
        this.games4 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.games4 = 0;
        }

        try {
        this.games5 = s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.games5 = 0;
        }

        try {
        this.gamesCoach= s.nextInt();
        }
        catch (InputMismatchException e)
        {
            this.gamesCoach = 0;
        }

        s.nextLine();
    }

    public String toString()
    {
        return "Name: "+playerName+"\tWins as Carry: "+wins1+"\tWins as Mid: "+wins2+"\tWins as Offlane: "+wins3+"\tWins as 4 Support: "+wins4+"\tWins as 5 Support: "+wins5+"\tWins as Coach: "+winsCoach+"\tPlayed games: "+gamesTotal+"\tGames as Carry: "+games1+"\tGames as Mid: "+games2+"\tGames as Offlane: "+games3+"\tGames as 4 support: "+games4+"\tGames as 5 support: "+games5+"\tGames as Coach: "+gamesCoach;
    }

    }

Снимок экрана data.csv

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...