Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private static void deleteComp() {
- System.out.print("\nВведите номер компонента, который хотите удалить: ");
- String compNumberStr;
- boolean isIncorrect;
- do {
- isIncorrect = false;
- compNumberStr = lab4_1.scConsole.nextLine();
- if (compNumberStr.equals("")) {
- isIncorrect = true;
- System.err.print("Вы не ввели номер компонента. Повторите ввод: ");
- }
- try {
- Integer.parseInt(compNumberStr);
- } catch (Exception var3) {
- isIncorrect = true;
- System.err.print("Некорректный ввод. Повторите ввод: ");
- }
- if (!isIncorrect && (Integer.parseInt(compNumberStr) > compList.size() ||
- Integer.parseInt(compNumberStr) <= 0)) {
- isIncorrect = true;
- System.err.print("Компонента с таким номером не существет. Повторите ввод: ");
- }
- } while (isIncorrect);
- compList.remove(Integer.parseInt(compNumberStr) - 1);
- System.out.println("Компонент под номером " + compNumberStr + " успешно удалён.");
- }
- private static void editComp() {
- System.out.print("\nВведите номер компонента, который хотите отредактировать: ");
- String compNumberStr;
- boolean isIncorrect;
- do {
- isIncorrect = false;
- compNumberStr = lab4_1.scConsole.nextLine();
- if (compNumberStr.equals("")) {
- isIncorrect = true;
- System.err.print("Вы не ввели номер компонента. Повторите ввод: ");
- }
- try {
- Integer.parseInt(compNumberStr);
- } catch (Exception var3) {
- isIncorrect = true;
- System.err.print("Некорректный ввод. Повторите ввод: ");
- }
- if (!isIncorrect && (Integer.parseInt(compNumberStr) > compList.size() ||
- Integer.parseInt(compNumberStr) <= 0)) {
- isIncorrect = true;
- System.err.print("Компонента с таким номером не существует. Повторите ввод: ");
- }
- } while (isIncorrect);
- ((Comp) compList.get(Integer.parseInt(compNumberStr) - 1)).edit();
- System.out.println("\nКомпонент под номером " + compNumberStr + " успешно
- отредактирован.");
- }
- public void showSortedComponents() {
- for (int i = 0; i < compList.size(); i++) {
- if (compList.get(i).warranty() > 2) {
- compList.remove(i);
- }
- }
- compList.sort(Comparator.comparing((t) -> t.price()));
- if (compList.size() == 0) {
- System.out.println("Все комплектующие были удалены.");
- } else {
- showList();
- }
- }
- private static String getNameFromConsole() {
- System.out.print("\nВведите название компонента(до 30 символов): ");
- boolean isIncorrect;
- String nameStr;
- do {
- isIncorrect = false;
- nameStr = lab4_1.scConsole.nextLine();
- if (nameStr.equals("")) {
- System.err.print("Вы не ввели название компонента. Повторите ввод: ");
- isIncorrect = true;
- }
- if (!isIncorrect && nameStr.length() > 30) {
- System.err.print("Длина названия должна быть до 30 символов. Повторите ввод: ");
- isIncorrect = true;
- }
- } while(isIncorrect);
- return nameStr;
- }
- public Comp(String name, String manufacturer, String mainChar, double warranty, double price)
- {
- this.name = name;
- this.manufacturer = manufacturer;
- this.mainChar = mainChar;
- this.warranty = warranty;
- this.price = price;
- }
- public static void main(String[] args) {
- scConsole = new Scanner(System.in);
- System.out.println("Информация об ассортименте комплектующих компьютера.");
- mainMenu();
- scConsole.close();
- }
- public CompList() {
- compList = new ArrayList();
- needSave = true;
- savePath = "";
- }
- public CompList(String path) {
- compList = new ArrayList();
- needSave = false;
- savePath = path;
- }
- private static void showList() {
- System.out.println("\nСписок компонентов");
- System.out.printf("%4s%-35s%-15s%-15s%-10s%-2s%n", "№", "| Название", "| Производитель",
- "| Харктеристика", "| Гарантия", "| Цена", "|");
- System.out.println("----|----------------------------------|--------------|--------------
- |---------|-------|");
- for (Comp comp : compList) {
- PrintStream var10000 = System.out;
- Object[] var10002 = new Object[]{compList.indexOf(comp) + 1, "| " + comp.name(), "| "
- + comp.manufacturer(), "| " + comp.mainChar(), "| " + comp.warranty(), "| " +
- comp.price(), null, null};
- var10000.printf("%4s%-35s%-15s%-15s%-10s%-2s%n", var10002);
- System.out.println("----|----------------------------------|--------------|----------
- ----|---------|-------|");
- }
- }
- private static void sortCompMenu() {
- System.out.println("\nСортировать по:");
- System.out.println("1. Названию (в алфавитном порядке).");
- System.out.println("2. Производителю (в алфавитном порядке).");
- System.out.println("3. Главной характеристике (в алфавитном порядке).");
- System.out.println("4. Размеру гарантии (по убыванию).");
- System.out.println("5. Цене (по убыванию).");
- String answerStr = "";
- boolean isIncorrect;
- do {
- isIncorrect = false;
- answerStr = lab4_1.scConsole.nextLine();
- if (!answerStr.equals("1") && !answerStr.equals("2") && !answerStr.equals("3") &&
- !answerStr.equals("4") && !answerStr.equals("5")) {
- isIncorrect = true;
- System.err.print("Неверный ввод. Пожалуйста, повторите выбор: ");
- }
- } while (isIncorrect);
- sortComp(answerStr);
- System.out.println("Игрушки успешно отсортированы.");
- }
- private static void saveToFile() {
- File fileOfRecords = new File(savePath);
- try {
- BufferedWriter writer = new BufferedWriter(new FileWriter(fileOfRecords));
- try {
- writer.append(String.valueOf(compList.size())).append("\n");
- Iterator var2 = compList.iterator();
- while (var2.hasNext()) {
- Comp comp = (Comp) var2.next();
- writer.append(comp.name()).append("\n");
- writer.append(comp.manufacturer()).append("\n");
- writer.append(comp.mainChar()).append("\n");
- writer.append(String.valueOf(comp.warranty())).append("\n");
- writer.append(String.valueOf(comp.price())).append("\n");
- }
- } catch (Throwable var5) {
- try {
- writer.close();
- } catch (Throwable var4) {
- var5.addSuppressed(var4);
- }
- throw var5;
- }
- writer.close();
- } catch (IOException var6) {
- savePath = "";
- System.err.println("Файл не найден или открыт в режиме \"Только для чтения\"");
- }
- System.out.println("\nДанные успешно сохранены.");
- needSave = false;
- }
- private static boolean checkData(String name, String price, String count, String minAge,
- String maxAge) {
- boolean isCorrect = true;
- try {
- if (name.equals("")) {
- isCorrect = false;
- }
- if (isCorrect && name.length() > 30) {
- isCorrect = false;
- }
- String pricePattern = "^(\\d){1,4}(\\.\\d{1,2})?$";
- if (isCorrect && price.equals("")) {
- isCorrect = false;
- }
- if (isCorrect && !price.matches(pricePattern)) {
- isCorrect = false;
- }
- if (isCorrect && Double.parseDouble(price) < 0.01D) {
- isCorrect = false;
- }
- String countPattern = "^\\d{1,5}$";
- if (count.equals("")) {
- isCorrect = false;
- }
- if (isCorrect && !count.matches(countPattern)) {
- isCorrect = false;
- }
- String agePattern = "^\\d{1,2}$";
- if (minAge.equals("") || maxAge.equals("")) {
- isCorrect = false;
- }
- if (isCorrect && !minAge.matches(agePattern) || !maxAge.matches(agePattern)) {
- isCorrect = false;
- }
- if (isCorrect && Byte.parseByte(minAge) > 98 || Byte.parseByte(maxAge) > 99 ||
- Byte.parseByte(minAge) > Byte.parseByte(maxAge)) {
- isCorrect = false;
- }
- } catch (Exception var9) {
- isCorrect = false;
- }
- return isCorrect;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement