Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Бишоп Д. -> "Эффективная робота Java 2" -> 71

Эффективная робота Java 2 - Бишоп Д.

Бишоп Д. Эффективная робота Java 2 — Спб.: Питер, 2002. — 592 c.
ISBN 966-552-107-1
Скачать (прямая ссылка): effektivnayarabotajava2002.djvu
Предыдущая << 1 .. 65 66 67 68 69 70 < 71 > 72 73 74 75 76 77 .. 259 >> Следующая

Циклы while и do с выходом по условию
157
ic__________
*Этот магазин имеет свой уровень запасов -
*Иллюстрирует работу объектно-ориентированной программы.
*Использует класс Display для организации ввода-вывода.
*/
public static void main (String [ ] args) { new CurioStore3 ();
//Объявление объектов, связанных со всеми методами.
Display display = new Display ("Магазин \ "Лавка древностей\"м);
Curio mugs, tshirts, carvings; boolean open;
//Конструктор, а котором выполняется основная //часть работы и осуществляется инициализация.
CurioStore3 О {
mugs - new Curio("Традиционные кружки *', 6, " украшенные в стиле
Ndebele", 20, display); tshirts = new Curio("Футболки ", 30, "размером от М до XL", 50r display); carvings — new Curio ("Каски" , 80 ^ "вырезанные из дерева1*, 8, display);
//Выводит отчет о запасах в магазине на //момент начала работы программы, report () ;
//Использует методы для выполнения последовательности операций. stockTheStore () ; openTheStore ();
і
while {open} { sellCurios();
open = display, getString f”Магазин") , equals ("Открыт11) ; available О;
)
display.println{"Магазин закрыт AnДо свидания") ;
}
void report О (
display . println f Г,В магазине \і,Лаька древяостей\" имеются: \п");
//Ыгишстрирует доступ объектов к методу toString для выгода их содержимого. display.println{',"+mugs) ; display.println(”"+tshirts); display .println (n,1+carvings) ;
void stockTheStore () {
display.ready("После ввода новых данных по товарам
\пнажмите кнопку VTotosoV1") ; mugs.addStock(display,getlnt(mugs.name)}; tshirts.addStock(display *getlnt(tshirts.name));
.-dUlTiuoOK i'clispiay. get-lnt {carvings .name) ) ;
\
Л
158
Глово 5. Упровление потоком
void openTheStore {) {
display, prompt С "Были проданы", 11
display.prompt{"Количество проданного", 0);
display-prompt ("Магазин", "Открыт") ;
Open = true;
і
void sellCurios {) {
Curio curio;
display.ready{"После ввода данных no проданному товару
Хпнажкште кнопку \"ГотовоЛ"")г String curioNante = display .getstring ("Были проданы"); int CurioSold = display.getlnt("Количество проданного");
if (curioName.equals(mugs.name)) { curio = mugs;
} else
if (curioName.equals(tshirts.name)) { curio = tshirts;
} else
if (curioName-equals(carvings.name)) {
curio = carvings;
} else (
display .println {curioName + '* нет в наличии в магазине. ") ; return;
>
display, println ("\пЗаказ на "+CurioSold + " " + curioName +" no G" +
curio*price+” за штуку - G" + curio.price*CurioSold)
curio.sell(Curio,Sold);
display.println("\пПродано "+CurioSold + " " + curioName +" no G" +
curio.priced" за штуку = G" + curio.price*Curio$old)
}
void available () {
display.println("Доступно "+muga.stock+" кружек \n "
+tshirts.stock+" футболок "
+carvings. stocks" масок\п1Г) ;
}
>
class Curio {
String name; int price;
String description; int stock;
Curio (String n, int p, String d, int t, Display display) ( name - n; price - p; description ~ d; display.prompt(name, t} ;
}
Циклы while и do с выходом по условию
void. addStock (int n) { stock += n;
\
void sell fint n) {
// значение наличного товара может стать отрицательным stock -» п;
I
int stockLevel () {
return stock;
}
//Метод println получает доступ к данному методу, чтобы //преобразовать содержимое о&ьекта Curio в строку, public String toString О {
return name + " 1,-t-description+" no G" + price;
}
}
Далее мы рассмотрим конструкцию, которая позволит повысить эффективность обработки информации о продажах при низком уровне запасов. Но прежде мы продолжим разговор о циклах с выходом по условию.
Оператор do
Синтаксис оператора do подобен синтаксису оператора while. Первый начинает свою работу с того, что хотя бы один раз выполняет тело цикла перед проверкой условия» Хотя данное свойство часто очень полезно, программисты чаще используют цикл while.
do {
} vhilg {condition) ;__________________________________________________________________
Операторы statements выполняются один раз. Затем проверяется условие condition. Если оно ложно, цикл повторяется. Иначе цикл заканчивается и начинает жшголпяться следующий за ним оператор.
Г
Разработка цикла с выходом по условию
В процессе разработки циклов с выходом по условию следует принимать во внимание следующие два момента:
¦ условие должно быть инициализировано;
* условие должно изменяться во время выполнения цикла.
Если условие не инициализируется, цикл будет обрабатывать некорректную или даже неопределенную информацию.
Прежде чем перейти к решению реальной задачи, рассмотрим небольшой пример, который иллюстрирует работу циклов с выходом по условию и в котором используются булевы переменные и методы, В рассматриваемой программе предпринимается попытка найти в ЯІИИКР
Предыдущая << 1 .. 65 66 67 68 69 70 < 71 > 72 73 74 75 76 77 .. 259 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.