Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 1
Регистрация: 10.10.2016
Сообщений: 76

Как сохранить значение двумерного массива при каждом его изменении?

19.05.2021, 08:14. Показов 1353. Ответов 3

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter the number of rows:");
        int rows = scanner.nextInt();
        System.out.println("Enter the number of seats in each row");
        int seats = scanner.nextInt();
 
 
        while (true){
            System.out.println("1. Show the seats\n" +
                    "2. Buy a ticket\n" +
                    "0. Exit");
            int choice = scanner.nextInt();
            String[][] arr = createCinema(rows, seats);
 
            if(choice == 1){
                printCinema(arr);
            } else if(choice == 2){
                System.out.println("Enter a row number");
                int checkRow = scanner.nextInt();
                System.out.println("Enter a seat number in that row: ");
                int checkSeat = scanner.nextInt();
                ticketPrice(rows, seats, checkRow);
                arr[checkRow][checkSeat] = "B";
                printCinema(arr);
            } else if(choice == 0){
                break;
            } else {
                System.out.println("Enter the correct number");
            }
        }
    }
 
    public static String[][] createCinema(int rows, int seats) {
        String[][] arr = new String[rows + 1][seats + 1];
        int count = 1;
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                if (i == 0 && j == 0) {
                    arr[i][j] = " ";
                } else {
                    arr[i][j] = String.valueOf(count);
                    count++;
                }
                if (i > 0 && j == 0) {
                    arr[i][j] = String.valueOf(i);
                } else if (i > 0 && j > 0) {
                    arr[i][j] = "S";
                }
            }
        }
        return arr;
    }
 
    public static void printCinema(String[][] cinema) {
        System.out.println();
        System.out.println("Cinema");
        for (int i = 0; i < cinema.length; i++) {
            for (int j = 0; j < cinema[i].length; j++) {
                System.out.print(cinema[i][j]);
                System.out.print(" ");
            }
            System.out.println();
        }
        System.out.println();
    }
 
    public static void ticketPrice(int rows, int seats, int checkRow) {
        System.out.println();
        if (rows * seats <= 60) {
            System.out.println("Ticket price: $10");
        } else {
            if (rows % 2 == 0) {
                if(checkRow <= rows/2){
                    System.out.println("Ticket price: $10");
                } else{
                    System.out.println("Ticket price: $8");
                }
            } else {
                if(checkRow <= rows/2){
                    System.out.println("Ticket price: $10");
                } else{
                    System.out.println("Ticket price: $8");
                }
            }
        }
    }
}
Вот собственно сам код, на выводе должно выводиться таким образом:

Enter the number of rows:
> 7
Enter the number of seats in each row:
> 7

1. Show the seats
2. Buy a ticket
0. Exit
> 1

Cinema:
1 2 3 4 5 6 7
1 S S S S S S S
2 S S S S S S S
3 S S S S S S S
4 S S S S S S S
5 S S S S S S S
6 S S S S S S S
7 S S S S S S S

1. Show the seats
2. Buy a ticket
0. Exit
> 2

Enter a row number:
> 4
Enter a seat number in that row:
> 5
Ticket price: $10

1. Show the seats
2. Buy a ticket
0. Exit
> 1

Cinema:
1 2 3 4 5 6 7
1 S S S S S S S
2 S S S S S S S
3 S S S S S S S
4 S S S S B S S
5 S S S S S S S
6 S S S S S S S
7 S S S S S S S

1. Show the seats
2. Buy a ticket
0. Exit
> 2

Enter a row number:
> 6
Enter a seat number in that row:
> 6
Ticket price: $10

1. Show the seats
2. Buy a ticket
0. Exit
> 1

Cinema:
1 2 3 4 5 6 7
1 S S S S S S S
2 S S S S S S S
3 S S S S S S S
4 S S S S B S S
5 S S S S S S S
6 S S S S S B S
7 S S S S S S S

1. Show the seats
2. Buy a ticket
0. Exit
> 0

Знаю что задачка учебная, но не подскажите как сохранить значение двумерного массива при каждом его изменении?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2021, 08:14
Ответы с готовыми решениями:

Программа входит в бесконечный цикл при изменении двумерного массива
Написал код для задания: &quot;Ввести двумерный массив А (NxM). Каждый второй элемент в массиве с нечётной суммой индексов, чьё значение лежит в...

В каждом столбце двумерного массива найти минимальный элемент и поменять его местами с последним элементом
В каждом столбце двумерного массива найти минимальный элемент и поменять его местами с последним элементом

Получить значение текста в input при его изменении.
Допустим у меня есть такой вот input: &lt;input id=&quot;answer&quot; type=&quot;text&quot; value=&quot;какое-то значение&quot; /&gt; Как мне получать значение, когда...

3
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.05.2021, 08:18
Лучший ответ Сообщение было отмечено AmirKenesbay как решение

Решение

AmirKenesbay, строку 17 переставь на строку 10
1
0 / 0 / 1
Регистрация: 10.10.2016
Сообщений: 76
19.05.2021, 08:20  [ТС]
Спасибо за ответ)
0
Эксперт PythonЭксперт Java
19530 / 11067 / 2931
Регистрация: 21.10.2017
Сообщений: 23,294
19.05.2021, 08:22
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.05.2021, 08:22
Помогаю со студенческими работами здесь

Получить значение поля hidden при его изменении через jQuery
Есть на странице кнопка.. которой по нажатию на неё.. инкрементирует одну переменную.. и добавляет значение в поля hidden. Мне надо...

Как сохранить изменения при изменении шрифта в DataGridView?
Доброго времени суток! Изменяю шрифт dataGridView через FontDialog. Изменения шрифта остаются до первого закрытия программы. Таким...

Как сохранить пропорции Panel при изменении размеров формы
На форме есть Panel которую нужно всегда сохранять квадратной вне зависимости от размера родительской формы. Первое что пришло в голову...

При изменении ползунка (input type=range), в окне оповещения показать его значение
я являюсь новичком в программировании на JS, поэтому у меня возникло несколько вопросов. Я хочу, чтобы при изменении ползунка (input...

Как сохранить размер элементов на сцене при изменении размеров на QGraphicsView?
Добавляю несколько эллипсов на сцену, а потом увеличиваю через scale на GraphicsView, но оно увеличивает и сами эллипсы. Как можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru