Скачать презентацию Основы программирования на Java Занятие 2 GUI приложения Скачать презентацию Основы программирования на Java Занятие 2 GUI приложения

Основы_программирования_Java_03_2014_2_зан.ppt

  • Количество слайдов: 32

Основы программирования на Java Занятие 2. GUI приложения на Java. Window. Builder. Стандартные типы Основы программирования на Java Занятие 2. GUI приложения на Java. Window. Builder. Стандартные типы данных. Циклы while. Строки, конвертация строк в числа. Власенко Олег Федосович

Window. Builder – простейшее приложение Window. Builder – простейшее приложение

Window. Builder – создание окна приложения 1. Создать новый проект Proj 2: Package Explorer Window. Builder – создание окна приложения 1. Создать новый проект Proj 2: Package Explorer -> Правая кнопка мыши -> МенюNewJava Project 2. Создать окно приложения Lec 2 App 0 Package Explorer -> Проект Proj 2 Правая кнопка мыши -> МенюNewOther… -> NewWindow. BuilderSwing DesignerApplication Window -> Next -> Name=“Lec 2 App 0”

Добавление контролов (элементов GUI) 1. 2. 3. 4. 5. 6. Добавить null Layout Добавить Добавление контролов (элементов GUI) 1. 2. 3. 4. 5. 6. Добавить null Layout Добавить метку (lbl. New. Label) Конвертировать ее из локальной в поле Добавить кнопку «Кнопка 1» (button) Добавить кнопку «Кнопка 2» (button_1) Добавить обработчик на «Кнопка 1» - к метке lbl. New. Label дописать «+1» String s = lbl. New. Label. get. Text(); lbl. New. Label. set. Text(s + "+1"); 7. Добавить обработчик на «Кнопка 2» - метке lbl. New. Label присвоить строку « 0» lbl. New. Label. set. Text("0"); 8. Запуск на выполнение

GUI приложение с вводом Создать приложение с полем ввода (N), вычисляющее факториал и выводящая GUI приложение с вводом Создать приложение с полем ввода (N), вычисляющее факториал и выводящая его в другое поле (не редактируемое).

Цикл с предусловием while (условное_выражение) { Действие; } Цикл с предусловием while (условное_выражение) { Действие; }

Пример i = 1; while (i <= 10) { System. out. print(i + Пример i = 1; while (i <= 10) { System. out. print(i + " "); i = i + 1; }

Создание окна приложения 1. Создать окно приложения Lec 2 App 1 Package Explorer -> Создание окна приложения 1. Создать окно приложения Lec 2 App 1 Package Explorer -> Проект Proj 2 Правая кнопка мыши -> МенюNewOther… -> NewWindow. BuilderSwing DesignerApplication Window -> Next -> Name=“Lec 2 App 1”

Добавление контролов (элементов GUI) 1. 2. 3. 4. 5. 6. 7. 8. Добавить null Добавление контролов (элементов GUI) 1. 2. 3. 4. 5. 6. 7. 8. Добавить null Layout Добавить метку JLabel «N=» Добавить поле для редактирования JText. Field Name=“text. Field. N” Добавить кнопку JButton «Подсчитать!» Name=“button. Calculate” Добавить метку JLabel «F=N!=» Добавить поле для редактирования JText. Field Name=“text. Field. F” Свойство text. Field. F. editable = false Добавить обработчик на кнопку «Подсчитать!» - прочитать из text. Field. N число N, вычислить в цикле факториал f, вывести f в поле text. Field. F (код на следующем слайде) 9. Запустить 10. Трассировка

Получение числа из контрола int n = 0; try { String str. N = Получение числа из контрола int n = 0; try { String str. N = text. Field. N. get. Text(); n = Integer. parse. Int(str. N); } catch (Number. Format. Exception ex) { text. Field. F. set. Text(ex. get. Message()); return; }

Вычисление факториала и вывод значения int f = 1; int i = 1; while Вычисление факториала и вывод значения int f = 1; int i = 1; while (i <= n) { f = f * i; i++; } String str. F = "" + f; text. Field. F. set. Text(str. F);

Стандартные типы в Java Стандартные типы в Java

Целые типы Название Длина байт Область значений byte 1 -128. . 127 short 2 Целые типы Название Длина байт Область значений byte 1 -128. . 127 short 2 -32. 768. . 32. 767 int 4 -2. 147. 483. 648. . 2. 147. 483. 647 long 8 -9. 223. 372. 036. 854. 775. 808. . 9. 223. 372. 036. 854. 775. 807 (примерно 10^19) char 2 'u 0000'. . 'uffff', или 0. . 65. 535

Вещественные типы Название float double Длина байт Область значений 4 3. 40282347 e+38 f Вещественные типы Название float double Длина байт Область значений 4 3. 40282347 e+38 f ; 1. 40239846 e-45 f 8 1. 79769313486231570 e+308 ; 4. 94065645841246544 e-324

Типы в действии значение факториала хранить в переменных разных типов – попробовать по очереди: Типы в действии значение факториала хранить в переменных разных типов – попробовать по очереди: byte f; f = (byte) (f * i); short f; f = (short) (f * i); int f; f = f * i; long f; f = f * i; float f; f = f * i; double f; f = f * i; char c; f = (char)(f * i); System. out. print((int)f + "n"); String str. F = "" + (int)f; text. Field. F. set. Text(str. F); Трассировка выполнения – посмотреть, что происходит с переменной f при переполнении

Eclipse Перспективы: • Java (default) • Debug Управление перспективами: • Close All Perspectives • Eclipse Перспективы: • Java (default) • Debug Управление перспективами: • Close All Perspectives • WindowOpen PerspectiveOther Виды - WindowShow view: • Console • Package Explorer (Java) • Debug (Debug) • Variables (Debug) • Expressions (Debug)

Трассировка циклического алгоритма На примере вычисления факториала изучаем трассировку циклов Трассировка циклического алгоритма На примере вычисления факториала изучаем трассировку циклов

Практика по циклам: Практика по циклам:

Задача 1 - решение Вывести в консоль числа от 1 до 10. Использовать цикл Задача 1 - решение Вывести в консоль числа от 1 до 10. Использовать цикл while. public static void main(String[] args) { int a = 1; while (a <= 10) { System. out. printf("%d ", a); a = a + 1; } System. out. println(); }

Задача 2 Вывести в консоль числа от 100 до 10 с шагом 10. Использовать Задача 2 Вывести в консоль числа от 100 до 10 с шагом 10. Использовать цикл while. Вывод: 100 90 80 70 60 50 40 30 20 10

Задача 2 - решение Вывести в консоль числа от 100 до 10 с шагом Задача 2 - решение Вывести в консоль числа от 100 до 10 с шагом 10. Использовать цикл while. public static void main(String[] args) { int a = 100; while (a >= 10) { System. out. printf("%d ", a); a = a - 10; } System. out. println(); }

Задача 3 Вывести в консоль числа 1 2 4 8 16 … 1024. Каждое Задача 3 Вывести в консоль числа 1 2 4 8 16 … 1024. Каждое следующее число вычисляется по формуле A = A * 2; Использовать цикл While. Вывод: 1 2 4 8 16 32 64 128 256 512 1024 Дополнительное задание: Переделать вывод с консоли на вывод в контрол редактирования

Задача 4 Вывести в консоль числа 1 4 9 16 25 (всего 10 чисел). Задача 4 Вывести в консоль числа 1 4 9 16 25 (всего 10 чисел). Каждое следующее число вычисляется по формуле A = I * I, I = I + 1; Использовать цикл While. Вывод: 1 4 9 16 25 36 49 64 81 100 Дополнительное задание: Переделать вывод с консоли на вывод в контрол редактирования

Алтернативный вариант: Задача A 1 Написать программу, производящую разложение натурального числа на простые множители Алтернативный вариант: Задача A 1 Написать программу, производящую разложение натурального числа на простые множители http: //ru. wikipedia. org/wiki/%D 0%9 F%D 0%B 5%D 1%80%D 0%B 5%D 0 %B 1%D 0%BE%D 1%80_%D 0%B 4%D 0%B 5%D 0%BB%D 0%B 8%D 1% 82%D 0%B 5%D 0%BB%D 0%B 5%D 0%B 9 Ввод: 24 Вывод: 24 = 1 * 2 * 2 * 3

Алтернативный вариант: Задача A 2 Написать программу, вычисляющую корень квадратный при помощи итерационной формулы Алтернативный вариант: Задача A 2 Написать программу, вычисляющую корень квадратный при помощи итерационной формулы Герона с заданной точностью http: //ru. wikipedia. org/wiki/%D 0%98%D 1%82%D 0%B 5%D 1%80%D 0% B 0%D 1%86%D 0%B 8%D 0%BE%D 0%BD%D 0%B 0%D 1%8 F _%D 1%84%D 0%BE%D 1%80%D 0%BC%D 1%83%D 0%BB%D 0%B 0_ %D 0%93%D 0%B 5%D 1%80%D 0%BE%D 0%BD%D 0%B 0 (рекомендуется использовать do while). Ввод: 25 0. 001 Вывод: 5. 00001

Домашнее задание 1. Установить Window. Builder Качать отсюда : http: //eclipse. org/downloads/download. php? file=/window Домашнее задание 1. Установить Window. Builder Качать отсюда : http: //eclipse. org/downloads/download. php? file=/window builder/WB/release/R 201309271200/WB_v 1. 6. 1_Update Site_for_Eclipse 4. 3. zip

Порядок установки Window. Builder: 1 Распаковать архив WB_v 1. 6. 1_Update. Site_for_Eclipse 4. 3. Порядок установки Window. Builder: 1 Распаковать архив WB_v 1. 6. 1_Update. Site_for_Eclipse 4. 3. zip 2 Запустить Eclipse 3 Зайти в меню Eclipse менюHelpInstall new software… -> Откроется диалог “Install” 4 В диалоге “Install”нажать кнопку «Add» -> Откроется диалог “Add Repository” 5 В диалоге “Add Repository” нажать кнопку “Local…” 6 В открывшемся диалоге выбрать папку куда Вы в пункте 1 распаковали архив WB_v 1. 6. 1_Update. Site_for_Eclipse 4. 3. zip. Нажать кнопку OK -> диалог закроется 7 В диалоге “Add Repository” в поле Name введите “Window. Builder”, после чего нажмите кнопку OK -> диалог закроется 8 В диалоге “Install” в поле Name поставьте галочки для всех компонентов – Swing Designer, SWT Designer, Window. Builder Engine (можно нажать Select All) 9 Нажмите кнопку Next 10 И далее до победного конца!

Домашнее задание B Выберите один-два варианта из предложенных. Реализуйте два решения выбранных вариантов. 1. Домашнее задание B Выберите один-два варианта из предложенных. Реализуйте два решения выбранных вариантов. 1. Консольное решение с использованием WHILE в рамках main() 2. GUI решение с использованием WHILE.

Домашнее задание B – варианты 1 -5 1. Найти произведение двух натуральных чисел A Домашнее задание B – варианты 1 -5 1. Найти произведение двух натуральных чисел A и B. Нельзя использовать операцию умножения. Нужно использовать операцию сложения и цикл. Пример: a = 3, b = 4 => a*b= 12 2. Найти натуральную степень натурального числа (а- основание n – показатель степени). Использовать операцию умножения и цикл. Пример: a = 3, n = 4 => a^n= 81 3. Банк начисляет на вклады 0, 95% каждый месяц(т. е. каждый месяц вклад увеличивается на 0, 95% без участия вкладчика). Начисленные проценты присоединяются к основному вкладу. Напечатать таблицу увеличения суммы вклада по месяцам на год. Сумма вклада вводится с клавиатуры. 4. Население города увеличивается на 3% каждый год. В 2013 году население города составляло 650000 человек. Напишите программу, которая выведет на экран предсказываемую численность населения города в каждом году, вплоть до 2040. 5. Банк начисляет на вклады 9% каждый год. Начисленные проценты присоединяются к основному вкладу. Напечатать таблицу увеличения суммы вклада на ближайшие 20 лет. Сумма вклада вводится с клавиатуры.

Домашнее задание B – варианты 6 -10 6. Подсчитать значение суммы первых N членов Домашнее задание B – варианты 6 -10 6. Подсчитать значение суммы первых N членов ряда: 1 + ½ + 1/3 + ¼ + 1/5 + … + 1/N 7. Подсчитать значение суммы первых N членов ряда: 1 + 1/(1!) + 1/(2!) + 1/(3!) + … + 1/(N!) 8. Напечатать таблицу перевода температуры из градусов по шкале Цельсия в градусы по шкале Фаренгейта для значений от 15 С до 30 С с шагом 1 С (перевод осуществляется по формуле F=1, 8 C+32) 9. В банк сделали 2 вклада – один вклад 100000 рублей под 10% годовых, второй 200000 рублей под 2% годовых. Вывести изменение суммы вкладов по годам до тех пор, пока сумма на первом вкладе не превысит сумму на втором. 10. Вычислите сумму первых членов арифметической прогрессии A 0 = 10, Ai+1 = Ai + 3. Не использовать формулы прогрессии, использовать цикл и пошаговое вычисление очередного члена ряда.

Литература http: //prostojava. blogspot. ru/p/java_01. html (типы данных) http: //sotnyk. com/2011/10/09/rukovodstvopo-eclipse-ide/ (Справочник по Eclipse) Литература http: //prostojava. blogspot. ru/p/java_01. html (типы данных) http: //sotnyk. com/2011/10/09/rukovodstvopo-eclipse-ide/ (Справочник по Eclipse) http: //window. edu. ru/resource/397/58397 (Справочник по Eclipse)

Спасибо за внимание! Власенко Олег Федосович E-mail: vlasenko. oleg@gmail. com Vk: vk. com/oleg. f. Спасибо за внимание! Власенко Олег Федосович E-mail: vlasenko. oleg@gmail. com Vk: vk. com/oleg. f. vlasenko Телефон: 8 902 246 05 47