Advertisement
Guest User

Laba 12

a guest
Apr 10th, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 8.51 KB | None | 0 0
  1. 1. package com.company;
  2. 2. import java.io.*;
  3. 3. import java.util.*;
  4. 4.  
  5. 5. class Audience {
  6. 6.    
  7.         // Взять текст задания на лабораторную работу №10 (2) и заменить массив структур на односвязный список Требование по наличию и    
  8.         // составу меню пользователя также взять из задания к лабораторной работе №10 (2).
  9.         // В общем в этой лабе мне менять нечего, так как я изначально использовал Список. Можно просто преподу заново рассказать
  10.         // как работает твой список.
  11.         // Отчёт можешь старый использовать, только поменяй задание и цель, можешь в цели написать - научиться работать со списками
  12. 7.     private static List<Audience> audience = new ArrayList<>(); - // Список
  13. 8.     private static File file = new File("data.bin");
  14. 9.     public static Scanner in = new Scanner(System.in);
  15. 10.  
  16. 11.     private String name;
  17. 12.     private int number;
  18. 13.     private int seats;
  19. 14.  
  20. 15.     public Audience() {
  21. 16.         System.out.print("Введите  наименование учебного корпуса: ");
  22. 17.         name = in.nextLine();
  23. 18.         System.out.print("Введите номер аудитории: ");
  24. 19.         number = Integer.parseInt(in.nextLine());
  25. 20.         System.out.print("Введите количество мест: ");
  26. 21.         seats = Integer.parseInt(in.nextLine());
  27. 22.         audience.add(this);
  28. 23.     }
  29. 24.  
  30. 25.     public static void outputEmployees() {
  31. 26.         int i = 1;
  32. 27.         for (Audience element : audience) {
  33. 28.             System.out.println((i) + ")" + element);
  34. 29.             if (element.seats >50) {
  35. 30.                 System.out.println("Аудитория подходит для лекций" + "\n");
  36. 31.             }
  37. 32.             i++;
  38. 33.         }
  39. 34.     }
  40. 35.  
  41. 36.     @Override
  42. 37.     public String toString() {
  43. 38.         return "НУК: " + name + "\nНомер: " + number + "\nКол-во мест: " + seats;
  44. 39.     }
  45. 40.  
  46. 41.     public static void setBinaryFile() {
  47. 42.         for (Audience emp : audience) {
  48. 43.             try (DataOutputStream dos = new DataOutputStream(new FileOutputStream(file))) {
  49. 44.                 dos.writeUTF(emp.name);
  50. 45.                 dos.writeUTF(String.valueOf(emp.number));
  51. 46.                 dos.writeUTF(String.valueOf(emp.seats));
  52. 47.                 if (emp.seats >50) {
  53. 48.                     dos.writeUTF("Аудитория подходит для лекций" + "\n");
  54. 49.                 }
  55. 50.                 dos.close();
  56. 51.             } catch (IOException ex) {
  57. 52.                 System.out.println(ex.getMessage());
  58. 53.             }
  59. 54.         }
  60. 55.     }
  61. 56.  
  62. 57.     public static void getBinaryFile() throws IOException {
  63. 58.  
  64. 59.         boolean endOfFile = false;
  65. 60.         FileInputStream fStream = new FileInputStream(file);
  66. 61.         DataInputStream inputFile = new DataInputStream(fStream);
  67. 62.  
  68. 63.         while (!endOfFile) {
  69. 64.             try {
  70. 65.                 String name = inputFile.readUTF();
  71. 66.                 System.out.println(name);
  72. 67.             } catch (EOFException e) {
  73. 68.                 endOfFile = true;
  74. 69.             }
  75. 70.         }
  76. 71.         inputFile.close();
  77. 72.     }
  78. 73.  
  79. 74.     public static void setFile() throws IOException {
  80. 75.  
  81. 76.         FileWriter writer = new FileWriter("out.txt");
  82. 77.  
  83. 78.         String fName = " НУК: ";
  84. 79.         String num = " Номер аудитории: ";
  85. 80.         String seats = " Кол-во мест: ";
  86. 81.         int i = 1;
  87. 82.  
  88. 83.         for (Audience element : audience) {
  89. 84.             writer.append(i + ")" + fName + element.name + "\n");
  90. 85.             writer.append(num + element.number + "\n");
  91. 86.             writer.append(seats + element.seats + "\n");
  92. 87.             if (element.seats >50) {
  93. 88.                 writer.append(" Аудитория подходит для лекций" + "\n");
  94. 89.             }
  95. 90.             i++;
  96. 91.         }
  97. 92.         writer.flush();
  98. 93.         writer.close();
  99. 94.     }
  100. 95.  
  101. 96.     public static void deleteEmployees() {
  102. 97.  
  103. 98.         System.out.print("Введите НУК: ");
  104. 99.         String deleteName = in.nextLine();
  105. 100.  
  106. 101.         for (int i = 0; i < audience.size(); i++) {
  107. 102.             if (deleteName.equals(audience.get(i).name)) {
  108. 103.                 audience.remove(i);
  109. 104.                 break;
  110. 105.             }
  111. 106.         }
  112. 107.     }
  113. 108.  
  114. 109.     public static void sortList() {
  115. 110.         Collections.sort(audience, Comparator.comparing(Audience::toString));
  116. 111.     }
  117. 112.  
  118. 113.     public static void getFile() {
  119. 114.         try (FileReader fr = new FileReader("out.txt")) {
  120. 115.             int c;
  121. 116.             while ((c = fr.read()) != -1) {
  122. 117.                 System.out.print((char) c);
  123. 118.             }
  124. 119.             System.out.println();
  125. 120.         } catch (IOException ex) {
  126. 121.             System.out.println(ex.getMessage());
  127. 122.         }
  128. 123.     }
  129. 124. }
  130. 125.  
  131. 126. public class Main {
  132. 127.     public static void main(String[] args) throws IOException {
  133. 128.  
  134. 129.         int choose = 0;
  135. 130.  
  136. 131.         while (choose !8) {
  137. 132.             System.out.println("1) Создать новую запись");
  138. 133.             System.out.println("2) Вывести на экран");
  139. 134.             System.out.println("3) Сохранить в бинарный файл");
  140. 135.             System.out.println("4) Загрузить из бинарного файла");
  141. 136.             System.out.println("5) Сохранить в текстовый файл");
  142. 137.             System.out.println("6) Загрузить из текстового файла");
  143. 138.             System.out.println("7) Удалить НУК");
  144. 139.             System.out.println("8) Выход");
  145. 140.  
  146. 141.             choose = Integer.parseInt(Audience.in.nextLine());
  147. 142.  
  148. 143.             switch (choose) {
  149. 144.                 case 1:
  150. 145.                     new Audience();
  151. 146.                     break;
  152. 147.                 case 2:
  153. 148.                     Audience.sortList();
  154. 149.                     Audience.outputEmployees();
  155. 150.                     break;
  156. 151.                 case 3:
  157. 152.                     Audience.setBinaryFile();
  158. 153.                     break;
  159. 154.                 case 4:
  160. 155.                     Audience.getBinaryFile();
  161. 156.                     break;
  162. 157.                 case 5:
  163. 158.                     Audience.setFile();
  164. 159.                     break;
  165. 160.                 case 6:
  166. 161.                     Audience.getFile();
  167. 162.                     break;
  168. 163.                 case 7:
  169. 164.                     Audience.deleteEmployees();
  170. 165.                     break;
  171. 166.                 case 8:
  172. 167.                     break;
  173. 168.                 default:
  174. 169.                     System.out.println("Неверно введено значение");
  175. 170.                     break;
  176. 171.             }
  177. 172.         }
  178. 173.     }
  179. 174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement