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