/
ket12werw
/
Cinema
Обзор
Документация
Войти
/
ket12werw
/
Cinema
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
CinemaEvents.java
97 строк
3 KB
ket12werw
zadanie1
23 июл 2026, 20:03
Верифицирован
23 июл 2026, 20:03
54bd71e
Код
Авторство
О чём код?
package task2; import java.util.Scanner; public class CinemaEvents { private int[][] seats; public CinemaEvents(int rows, int cols) { this.seats = new int[rows][cols]; } public void showSeats() { System.out.println("\nСхема зала:"); for (int row = 0; row < seats.length; row++) { for (int seat = 0; seat < seats[row].length; seat++) { char symbol = (seats[row][seat] == 0) ? 'O' : 'X'; System.out.print(symbol + " "); } System.out.println(); } System.out.println("O — свободно\nX — занято"); } private int[] getCoordinates(Scanner scanner) { System.out.print("Введите номер ряда (от 1 до " + seats.length + "): "); int row = readValidInt(scanner) - 1; System.out.print("Введите номер места (от 1 до " + seats[0].length + "): "); int seat = readValidInt(scanner) - 1; return new int[]{row, seat}; } private int readValidInt(Scanner scanner) { while (!scanner.hasNextInt()) { System.out.print("Ошибка! Введите число: "); scanner.next(); } return scanner.nextInt(); } public void bookSeat(Scanner scanner) { int[] coords = getCoordinates(scanner); int row = coords[0]; int seat = coords[1]; if (!isValid(row, seat)) return; if (seats[row][seat] == 1) { System.out.println("Это место уже занято."); } else { seats[row][seat] = 1; System.out.println("Место успешно забронировано."); } } public void cancelBooking(Scanner scanner) { int[] coords = getCoordinates(scanner); int row = coords[0]; int seat = coords[1]; if (!isValid(row, seat)) return; if (seats[row][seat] == 0) { System.out.println("Это место и так свободно."); } else { seats[row][seat] = 0; System.out.println("Бронь отменена."); } } private boolean isValid(int row, int seat) { if (row < 0 || row >= seats.length || seat < 0 || seat >= seats[row].length) { System.out.println("Такого места нет!"); return false; } return true; } public void showStatistics() { int free = 0; int busy = 0; for (int[] row : seats) { for (int place : row) { if (place == 0) free++; else busy++; } } System.out.println("\nСтатистика по залу " + seats.length + "x" + seats[0].length + ":"); System.out.println("Свободных мест: " + free); System.out.println("Занятых мест: " + busy); } }