Advertisement
Guest User

Laba №13

a guest
Apr 24th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 7.18 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.io.IOException;
  4. import java.util.Scanner;
  5.  
  6.  
  7. // В этой программе я создал 2 класса: Класс Сотрудники и Класс Предприятия. В них также есть конструкторы, в которых я ввожу данные
  8. // и добавляю их в список(также 2 списка, сотрудники и предприятия). Как же создается связь? В общем, я ввожу с клавы компанию и
  9. // сотрудника, потом через цикл в списках ищу их имена, и если нахожу, то добавляю компании сотрудника, а сотруднику компанию, а если
  10. // не нахожу, то нихуя. Ну и также создал функции по сохранению данных в файл и по выводу их на консоль.
  11.  
  12. public class Main {
  13.  
  14.     public static Scanner in = new Scanner(System.in);
  15.  
  16.     public static void main(String[] args) {
  17.  
  18.         int choose = 0;
  19.  
  20.         while (choose != 7) {
  21.  
  22.             System.out.println("1) Добавить нового абонента");
  23.             System.out.println("2) Добавить предприятие");
  24.             System.out.println("3) Создать связь");
  25.             System.out.println("4) Сохранить данные в файл");
  26.             System.out.println("5) Вывести абонентов");
  27.             System.out.println("6) Вывести предприятия");
  28.             System.out.println("7) Выход");
  29.  
  30.             choose = Integer.parseInt(in.nextLine());
  31.  
  32.             switch (choose) {
  33.                 case 1:
  34.                     new Employee();
  35.                     break;
  36.                 case 2:
  37.                     new Company();
  38.                     break;
  39.                 case 3:
  40.                     try {
  41.                         System.out.println("Введите компанию: ");
  42.                         String compName = in.nextLine();
  43.                         Company company = Company.getCompany(compName);
  44.                         System.out.println("Введите абонента: ");
  45.                         String subName = in.nextLine();
  46.                         Employee sub = Employee.getSub(subName);
  47.                         company.empList.add(sub);
  48.                         sub.comList.add(company);
  49.                     } catch (NullPointerException e) {
  50.                         e.printStackTrace();
  51.                     }
  52.                     break;
  53.                 case 4:
  54.                     try {
  55.                         Employee.inputSub();
  56.                         Company.inputCompany();
  57.                     } catch (IOException e) {
  58.                         e.printStackTrace();
  59.                     }
  60.                     break;
  61.                 case 5:
  62.                     Employee.sortSub();
  63.                     Employee.outputSub();
  64.                     break;
  65.                 case 6:
  66.                     Company.sortCom();
  67.                     Company.outputCompany();
  68.                     break;
  69.                 case 7:
  70.                     break;
  71.                 default:
  72.                     System.out.println("Вы ввели неправильное значение");
  73.                     break;
  74.             }
  75.         }
  76.     }
  77. }
  78.  
  79. public class Employee {
  80.  
  81.     public static List<Employee> employees = new ArrayList<>();
  82.     private static File subsFile = new File("Subscribers.txt");
  83.     public List<Company> comList = new ArrayList<>();
  84.  
  85.     private String name;
  86.     private String gender;
  87.     private int yearOfBirth;
  88.  
  89.     public Employee() {
  90.         System.out.print("Введите ФИО: ");
  91.         name = Main.in.nextLine();
  92.         System.out.print("Введите пол: ");
  93.         gender = Main.in.nextLine();
  94.         System.out.print("Введите год рождения: ");
  95.         yearOfBirth = Integer.parseInt(Main.in.nextLine());
  96.         employees.add(this);
  97.     }
  98.  
  99.     public static void sortSub() {
  100.             Collections.sort(employees, Comparator.comparing(Employee::getName));
  101.     }
  102.  
  103.     public static void inputSub() throws IOException {
  104.         FileWriter writer = new FileWriter(subsFile);
  105.  
  106.         for (Employee element : employees) {
  107.             writer.append("ФИО: " + element.name + "\n");
  108.             writer.append("Пол: " + element.gender + "\n");
  109.             writer.append("Год рождения: " + element.yearOfBirth + "\n\n");
  110.         }
  111.         writer.flush();
  112.         writer.close();
  113.     }
  114.  
  115.     public static void outputSub() {
  116.  
  117.         for (Employee element: employees) {
  118.             System.out.println(element);
  119.         }
  120.     }
  121.  
  122.     @Override
  123.     public String toString() {
  124.         String info = "ФИО: " + name + "\nПол: " + gender + "\nГод рождения: " + yearOfBirth + "\nКомпании: ";
  125.         for(Company element: comList) {
  126.             info += element.getName() + " ";
  127.         }
  128.         return info;
  129.     }
  130.  
  131.     public static Employee getSub(String name) {
  132.  
  133.         for (Employee element: employees) {
  134.             if(name.equals(element.name)) {
  135.                 return element;
  136.             }
  137.         }
  138.         return null;
  139.     }
  140.  
  141.     public String getName() {
  142.         return name;
  143.     }
  144. }
  145.  
  146. public class Company {
  147.  
  148.     public static List<Company> companies = new ArrayList<>();
  149.     private static File compFile = new File("Companies.txt");
  150.     public List<Employee> empList = new ArrayList<>();
  151.  
  152.     private String name;
  153.     private String legalForm;
  154.  
  155.     public Company() {
  156.         System.out.print("Наименование: ");
  157.         name = Main.in.nextLine();
  158.         System.out.print("Введите правовую форму: ");
  159.         legalForm = Main.in.nextLine();
  160.         companies.add(this);
  161.     }
  162.  
  163.     public static void sortCom() {
  164.         Collections.sort(companies, Comparator.comparing(Company::getName));
  165.     }
  166.  
  167.     public static void inputCompany() throws IOException {
  168.         FileWriter writer = new FileWriter(compFile);
  169.  
  170.         for (Company element : companies) {
  171.             writer.append("Наименование: " + element.name + "\n");
  172.             writer.append("Правовая форма: " + element.legalForm + "\n");
  173.         }
  174.         writer.flush();
  175.         writer.close();
  176.     }
  177.  
  178.     public static void outputCompany() {
  179.  
  180.         for (Company element: companies) {
  181.             System.out.println(element);
  182.         }
  183.     }
  184.  
  185.     @Override
  186.     public String toString() {
  187.         String info = "Наименование: " + name + "\nПравовая форма: " + legalForm + "\nАбоненты: ";
  188.         for(Employee element: empList) {
  189.             info += element.getName() + " ";
  190.         }
  191.         return info;
  192.     }
  193.  
  194.     public String getName() {
  195.         return name;
  196.     }
  197.  
  198.     public static Company getCompany(String name) {
  199.  
  200.         for (Company element: companies) {
  201.             if(name.equals(element.name)) {
  202.                 return element;
  203.             }
  204.         }
  205.         return null;
  206.     }
  207. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement