Простая база данных на Java - PullRequest
0 голосов
/ 19 марта 2019

У меня есть задача создать простую базу данных по теме «баскетбольная команда» с такими функциями, как: удаление по ID, вставка новых данных, изменение информации, печать всех данных из файла. Вся информация должна быть записана в файл.

Я уже создал метод createTeam (), который создает своего рода шаблон моих данных по умолчанию, которые записываются в файл.

По сути, после этого у меня возникла проблема с методом deleteByID (), удаляющим точные данные, которые мне нужны, поэтому я прошу вас о помощи

Мой код:

import java.io.*;

public class ChicagoBulls {

    static class Player{

        private int Id;
        private int Age;
        private String Name;
        private String Surname;
        private int Height;
        private int Salary;     
        private String KPI;
        private String Shoes;
        private  int Goals;

        Player(int id, int age, String name, String surname, int height,
               int salary, String kpi, String shoes, int goals) {
            Goals = goals;
            Id = id;
            Age = age;
            Name = name;
            Surname = surname;
            Height = height;
            Salary = salary;
            KPI = kpi;
            Shoes = shoes;

        }


        public String getShoes() {
            return Shoes;
        }

        public void setShoes(String shoes) {
            Shoes = shoes;
        }


        public int getSalary() {
            return Salary;
        }

        public void setSalary(int salary) {
            Salary = salary;
        }


        public String getKPI() {
            return KPI;
        }

        public void setKPI(String KPI) {
            this.KPI = KPI;
        }

        public int getHeight() {
            return Height;
        }

        public void setHeight(int height) {
            Height = height;
        }


        public String getName() {
            return Name;
        }

        public void setName(String name) {
            Name = name;
        }

        public String getSurname() {
            return Surname;
        }

        public void setSurname(String surname) {
            Surname = surname;
        }



        public int getAge() {
            return Age;
        }

        public void setAge(int age) {
            Age = age;
        }


        public int getId() {
            return Id;
        }

        public void setId(int id) {
            Id = id;
        }
        public int getGoals() {
            return Goals;
        }

        public void setGoals(int goals) {
            Goals = goals;
        }



    }

    public void createTeam(int quantity) throws Exception {
        File newFile = new File("NewFile.txt");
        FileWriter newFileReader = new FileWriter(newFile);
        BufferedWriter bufferedWriter = new BufferedWriter(newFileReader);

        bufferedWriter.write("|ID|\t"
                + "|     AGE      |\t"
                + "|     NAME     |\t"
                + "|    SURNAME   |\t"
                + "|     HEIGHT   |\t"
                + "|    SALARY    |\t"
                + "|     KPI      |\t"
                + "|    SHOES     |\t"
                + "|    Goals     |\t\n");
        int counter = quantity;
        for (int i = 0; i <= quantity; i++) {


            Player defaultPlayer = new Player(i, 19, "DefName", "DefSurname", 180, 6000, "Good", "Nike", 0);


            if (defaultPlayer.getId()<=9) {
                bufferedWriter.write("|0" + defaultPlayer.getId() + "|\t");
                bufferedWriter.write("|" + defaultPlayer.getAge() + "              |\t");

                bufferedWriter.write("|" + defaultPlayer.getName() + "      |\t");
                bufferedWriter.write("|" + defaultPlayer.getSurname() + "      |\t");
                bufferedWriter.write("|" + defaultPlayer.getHeight() + "                |\t");
                bufferedWriter.write("|" + defaultPlayer.getSalary() + "              |\t");
                bufferedWriter.write( "|" + defaultPlayer.getKPI() + "         |\t");
                bufferedWriter.write( "|" + defaultPlayer.getShoes() + "             |\t");
                bufferedWriter.write( "|" + defaultPlayer.getGoals() + "                |\t");



            }else{
                bufferedWriter.write("|" + defaultPlayer.getId() + "|\t");
                bufferedWriter.write("|" + defaultPlayer.getAge() + "              |\t");

                bufferedWriter.write("|" + defaultPlayer.getName() + "      |\t");
                bufferedWriter.write("|" + defaultPlayer.getSurname() + "      |\t");
                bufferedWriter.write("|" + defaultPlayer.getHeight() + "                |\t");
                bufferedWriter.write("|" + defaultPlayer.getSalary() + "              |\t");
                bufferedWriter.write( "|" + defaultPlayer.getKPI() + "         |\t");
                bufferedWriter.write( "|" + defaultPlayer.getShoes() + "             |\t");
                bufferedWriter.write( "|" + defaultPlayer.getGoals() + "                |\t");


            }

           bufferedWriter.newLine();



        }
        bufferedWriter.close();
        newFileReader.close();

    }
    public void deleteByID(int id) throws Exception {

        FileReader file = new FileReader("NewFile.txt");
        BufferedReader bufferedReader = new BufferedReader(file);
        String idLine = bufferedReader.readLine();
        int idIndex = idLine.indexOf(id);
        int nextIdIndex = idLine.indexOf(id + 1);

    }
}

Главная

public class Main {

    public static void main(String[] args) throws Exception {
        ChicagoBulls team = new ChicagoBulls();
        team.createTeam(30);

    }
}

Заранее спасибо.

1 Ответ

0 голосов
/ 19 марта 2019

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

После этого каждая ваша команда может быть представлена ​​в виде набора <> игроков. Это упростит итерации для каждого из элементов (игроков), а также обеспечит естественный способ удаления игроков из команды. Вы можете прочитать больше о реализации этой структуры в документации Java здесь.

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