/
GermanezZ
/
JavaExercises
Обзор
Документация
Войти
/
GermanezZ
/
JavaExercises
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
AllMetanitLessons/OpenCode/_6th.java
168 строк
5 KB
germa
Уроки по Metanit
04 дек 2024, 20:39
04 дек 2024, 20:39
48d575a
Код
Авторство
О чём код?
package AllMetanitLessons.OpenCode; import java.util.Scanner; /*Доработать список для хранения не только целых чисел – а любых объектов.*/ public class _6th{ public static void main(String[] args) { System.out.println("Вас приветствует приложение, демонстрирующее работу со списком на основе массива для любых объектов"); Mass mass = new Mass(); Scanner in = new Scanner(System.in); while (mass.start) { System.out.println(""" Варианты действий: 1) Добавить элемент 2) Вставить элемент в середину 3) Удалить элемент 4) Отсортировать список 5) Очистить список 6) Завершить работу 7) Показать список"""); int menu = in.nextInt(); switch (menu) { case 1 -> mass.add(); case 2 -> { // Вставить элемент в середину System.out.println("Введите целое число"); mass.putInCenter(); } case 3 -> { System.out.println("Введите номер элемента, который хотите удалить"); mass.delete(); } case 4 -> mass.sort(); /* System.out.println("Сортировка списка..."); for (int i = 0; i < putLast; i++) { for(int j = 0; j < putLast - i; j++) { if(array[j + 1] < array[j]) { Object swap = array[j]; array[j] = array[j + 1]; array[j + 1] = swap; } } }*/ case 5 -> mass.removeAll(); case 6 -> mass.exit(); case 7 -> mass.show(); default -> { System.out.println("Неверное значение!"); } } } } } class Mass extends _8th{ //Object[] array = new Object[4]; boolean start = true; private int capacity = 4; private int oldCapacity = capacity; private int putLast = 0; Object[] array = new Object[capacity]; Scanner in = new Scanner(System.in); @Override public void add() { System.out.println("Введите целое число"); array[putLast] = in.next(); putLast++; if (putLast == capacity) { Object[] buffer = new Object[capacity]; System.arraycopy(array, 0, buffer, 0, array.length); capacity += 10; array = new Object[capacity]; System.arraycopy(buffer, 0, array, 0, oldCapacity); oldCapacity = capacity; } for (int i = 0; i < putLast; i++) { System.out.print(array[i] + "_"); } System.out.println(); } @Override public void putInCenter() { array[(putLast / 2)] = in.next(); for (int i = 0; i < putLast; i++) { System.out.print(array[i] + "_"); } System.out.println(); } @Override public void delete() { int index = in.nextInt() - 1; for (int i = index; i < putLast; i++) { array[i] = array[i + 1]; } putLast--; if (capacity - putLast == 10) { capacity = capacity - 10; } } @Override public void sort() { } @Override public void removeAll() { System.out.println("Очистка списка...."); capacity = 4; array = new Object[capacity]; putLast = 0; oldCapacity = capacity; System.out.println("Список пуст!"); } @Override public void exit() { System.out.println("Exit..."); start = false; } @Override public void show() { if (putLast == 0) { System.out.println("Список пуст!"); for (int i = 0; i < array.length; i++) { System.out.print(array[i] + "_"); } System.out.println(); } else { for (int i = 0; i < putLast; i++) { System.out.print(array[i] + "_"); } System.out.println(); } } }