Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

230102 5к / СПО / Задание на зачет (java)

.doc
Скачиваний:
64
Добавлен:
20.04.2015
Размер:
27.65 Кб
Скачать

Задание на зачет (практическая часть)

Создание программы «Угадай название столицы»

Концепция программы:

В качестве основы для программы мы используем базу данных, в которой информация сохраняется в простом текстовом файле. Информация сохраняется в виде связки «название столицы» - «название государства», которая затем извлекается и опрашивается программой.

В общем виде ход выполнения программы представляется следующим:

  1. Программа открывает файл базы данных и определяет, какое количество записей содержится в нем.

  2. Затем программа выбирает одну из записей базы данных (выбор должен производиться случайным образом) и считывает название государства и его столицы.

  3. В заключение программа просит пользователя указать название столицы данного государства, считывает указанное пользователем название и проверяет, указал ли пользователь правильный ответ, выводя затем правильное название столицы данного государства.

Пример файла:

4

США Вашингтон

Япония Токио

Германия Берлин

Франция Париж

Недостающие знания:

  1. Как, случайным образом, выбрать запись в базе данных.

Одной из наших задач является встроить в программу механизм случайного выбора вопросов. Для этих целей необходимо случайным образом выбирать численные значения в диапазоне от 1 до общего числа записей в базе данных (содержится в переменной NumRecords, в нашем случае – 4). Для создания случайных значений чисел в пакете java.util существует класс Random. Мы создаем экземпляр этого класса для доступа к методу nextInt(n), который возвращает случайное значение в диапазоне от 0 до n (включительно). В связи с этим в качестве аргумента методу nextInt() передается значение NumRecords + 1, что позволяет нам выбрать также и последнюю запись в базе данных. Т.к. значение 0 не представляет для нас никакого интереса, оно отбрасывается – и случайное значение генерируется вновь. Для этого используется цикл while, выход из которого производится тогда, когда получено случайное значение, отличное от нуля.

Random randomVar = new Random();

int randomVal;

while (true)

{

randomVal = randomVar.nextInt (NumRecords + 1);

if (randomVal != 0)

break;

}

2. Как решить задачу извлечения из считанной из файла строки названий страны и ее столицы (которые, к примеру, присвоим переменным strLand и strCapital).

В пакете java.util имеется класс StringTokenizer, который идеально подходит для этих целей. Сначала создаем экземпляр данного класса и передаем конструктору строку, которую необходимо разложить на составляющие элементы. Затем, вызывая метод nextToken(), мы последовательно получаем составляющие строку слова (лексемы).

StringTokenizer st = new StringTokenizer (stringVar);

String strLand = st.nextToken ();

String strCapital = st.nextToken ();

Соседние файлы в папке СПО