Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.io.IOException;
- import java.util.Scanner;
- // В этой программе я создал 2 класса: Класс Сотрудники и Класс Предприятия. В них также есть конструкторы, в которых я ввожу данные
- // и добавляю их в список(также 2 списка, сотрудники и предприятия). Как же создается связь? В общем, я ввожу с клавы компанию и
- // сотрудника, потом через цикл в списках ищу их имена, и если нахожу, то добавляю компании сотрудника, а сотруднику компанию, а если
- // не нахожу, то нихуя. Ну и также создал функции по сохранению данных в файл и по выводу их на консоль.
- public class Main {
- public static Scanner in = new Scanner(System.in);
- public static void main(String[] args) {
- int choose = 0;
- while (choose != 7) {
- System.out.println("1) Добавить нового абонента");
- System.out.println("2) Добавить предприятие");
- System.out.println("3) Создать связь");
- System.out.println("4) Сохранить данные в файл");
- System.out.println("5) Вывести абонентов");
- System.out.println("6) Вывести предприятия");
- System.out.println("7) Выход");
- choose = Integer.parseInt(in.nextLine());
- switch (choose) {
- case 1:
- new Employee();
- break;
- case 2:
- new Company();
- break;
- case 3:
- try {
- System.out.println("Введите компанию: ");
- String compName = in.nextLine();
- Company company = Company.getCompany(compName);
- System.out.println("Введите абонента: ");
- String subName = in.nextLine();
- Employee sub = Employee.getSub(subName);
- company.empList.add(sub);
- sub.comList.add(company);
- } catch (NullPointerException e) {
- e.printStackTrace();
- }
- break;
- case 4:
- try {
- Employee.inputSub();
- Company.inputCompany();
- } catch (IOException e) {
- e.printStackTrace();
- }
- break;
- case 5:
- Employee.sortSub();
- Employee.outputSub();
- break;
- case 6:
- Company.sortCom();
- Company.outputCompany();
- break;
- case 7:
- break;
- default:
- System.out.println("Вы ввели неправильное значение");
- break;
- }
- }
- }
- }
- public class Employee {
- public static List<Employee> employees = new ArrayList<>();
- private static File subsFile = new File("Subscribers.txt");
- public List<Company> comList = new ArrayList<>();
- private String name;
- private String gender;
- private int yearOfBirth;
- public Employee() {
- System.out.print("Введите ФИО: ");
- name = Main.in.nextLine();
- System.out.print("Введите пол: ");
- gender = Main.in.nextLine();
- System.out.print("Введите год рождения: ");
- yearOfBirth = Integer.parseInt(Main.in.nextLine());
- employees.add(this);
- }
- public static void sortSub() {
- Collections.sort(employees, Comparator.comparing(Employee::getName));
- }
- public static void inputSub() throws IOException {
- FileWriter writer = new FileWriter(subsFile);
- for (Employee element : employees) {
- writer.append("ФИО: " + element.name + "\n");
- writer.append("Пол: " + element.gender + "\n");
- writer.append("Год рождения: " + element.yearOfBirth + "\n\n");
- }
- writer.flush();
- writer.close();
- }
- public static void outputSub() {
- for (Employee element: employees) {
- System.out.println(element);
- }
- }
- @Override
- public String toString() {
- String info = "ФИО: " + name + "\nПол: " + gender + "\nГод рождения: " + yearOfBirth + "\nКомпании: ";
- for(Company element: comList) {
- info += element.getName() + " ";
- }
- return info;
- }
- public static Employee getSub(String name) {
- for (Employee element: employees) {
- if(name.equals(element.name)) {
- return element;
- }
- }
- return null;
- }
- public String getName() {
- return name;
- }
- }
- public class Company {
- public static List<Company> companies = new ArrayList<>();
- private static File compFile = new File("Companies.txt");
- public List<Employee> empList = new ArrayList<>();
- private String name;
- private String legalForm;
- public Company() {
- System.out.print("Наименование: ");
- name = Main.in.nextLine();
- System.out.print("Введите правовую форму: ");
- legalForm = Main.in.nextLine();
- companies.add(this);
- }
- public static void sortCom() {
- Collections.sort(companies, Comparator.comparing(Company::getName));
- }
- public static void inputCompany() throws IOException {
- FileWriter writer = new FileWriter(compFile);
- for (Company element : companies) {
- writer.append("Наименование: " + element.name + "\n");
- writer.append("Правовая форма: " + element.legalForm + "\n");
- }
- writer.flush();
- writer.close();
- }
- public static void outputCompany() {
- for (Company element: companies) {
- System.out.println(element);
- }
- }
- @Override
- public String toString() {
- String info = "Наименование: " + name + "\nПравовая форма: " + legalForm + "\nАбоненты: ";
- for(Employee element: empList) {
- info += element.getName() + " ";
- }
- return info;
- }
- public String getName() {
- return name;
- }
- public static Company getCompany(String name) {
- for (Company element: companies) {
- if(name.equals(element.name)) {
- return element;
- }
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement