Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС. Лаборная работа №2.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
448 Кб
Скачать
☆

Поля (переменные) класса

В листинге ниже приведены поля (переменные), которые нужно объявить в классе MainActivity:

// константы, используемые при сохранении/восстановлении состояния

private static final String BILL_TOTAL = "BILL_TOTAL";

private static final String CUSTOM_PERCENT = "CUSTOM_PERCENT";

private double currentBillTotal; // счет, вводимый пользователем

private int currentCustomPercent; // % чаевых, выбранный SeekBar

private EditText tip10EditText; // 10%-чаевые

private EditText total10EditText; // общий счет, включая 10%-чаевые

private EditText tip15EditText; // 15%-чаевые

private EditText total15EditText; // общий счет, включая 15%-чаевые

private EditText billEditText; // ввод счета пользователем

private EditText tip20EditText; // 20%-чаевые

private EditText total20EditText; // общий счет, включая 20%-чаевые

private TextView customTipTextView;// % пользовательских чаевых

private EditText tipCustomEditText;// пользовательские чаевые

private EditText totalCustomEditText; // общий счет

// с пользовательскими чаевыми

Большинство из этих переменных представляют собой указатели на объекты, представляющие компоненты EditText (окна редактирования текста), используемые для ввода выставленного счета пользователем, а также для отображения вычисленной суммы чаевых и общего счета (с учетом чаевых). Константы в строках 18–19, объявленные со спецификаторами static и final, используются в качестве ключей в парах «ключ/значение» для представления текущего итогового счета и пользовательских процентных ставок чаевых. Пары «ключ/значение» хранятся и выбираются с помощью методов SaveInstanceState() и onCreate() соответственно (при изменении конфигурации приложения).

Выставленный счет, введенный пользователем в окно редактирования billEditText, считывается и хранится в виде числа с плавающей точкой в переменной currentBillTotal. При этом требуется выполнение определенного преобразования, суть которого будет объяснена позже. Пользовательская процентная ставка чаевых, выбираемая пользователем с помощью ползунка Seekbar (целое число, находящееся в диапазоне 0–100), сохраняется в целой переменной currentCustomPercent. Это значение умножается на 0.01 для преобразования в тип данных double, используемый в вычислениях. Сумма пользовательских чаевых и общий счет, включая пользовательские чаевые, устанавливаются в компонентах tipCustomEditText и totalCustomEditText, соответственно. В строке 30 объявляется переменная, указывающая на объект TextView, в котором отображается процентная ставка пользовательских чаевых, соответствующая отображаемой позиции ползунка SeekBar.

Фиксированные процентные ставки чаевых, равные 10%, 15% и 20%, а также итоговые счета (с учетом чаевых) отображаются в соответствующих элементах EditText. Сумма чаевых, подсчитанная с учетом ставки 10%, и сумма итогового счета (вместе с чаевыми, подсчитанными по ставке 10%) передаются в объекты tip10EditText и total10EditText, соответственно. Сумма чаевых, подсчитанная с учетом ставки 15%, и сумма итогового счета (вместе с чаевыми, подсчитанными по ставке 15%) передаются объектам tip15EditText и total15EditText. Сумма чаевых, подсчитанная с учетом ставки 20%, и сумма итогового счета (вместе с чаевыми, подсчитанными по ставке 20%) присваиваются объектам tip20EditText и total20EditText.