Розробка та тестування програмних засобів на платформі Java

Розробка та тестування додатків, які базуються на елементах мови програмування Java, принципи програмування в її середовищі. Вивчення переваг Java-платформи, прикладний програмний інтерфейс та особливості сучасних засобів створення Java-додатків.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык украинский
Дата добавления 22.06.2011
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Програма 1. Переклад чисел з десяткової системи числення у двійкову й щістндцяткову.

1. public class Trans {

2. public static String fromdectobin (int x) {

3. Stringres=»»;

4. short q = 0;

5. while (x>0) {

6. q=(short) (x % 2);

7. x/=2;

8. res=q+res;

9. }

10. return res;

11. }

12. public static String fromdectohex (float x) {

13. String res=»»;

14. short q = 0;

15. int c = 2;

16. while (c>0) {

17. q=(short) (16*(x/ 16-Math.floor (x/16)));

18. c=(int) Math.floor (x/16);

19. x=c;

20. if (q<10) {

21. res=q+res;

22. } else {

23. switch(q) {

24. case 10:

25. res= «A»+res;

26. break;

27. case 11:

28. res= «B»+res;

29. break;

30. case 12:

31. res= «C»+res;

32. break;

33. case 13:

34. res= «D»+res;

35. break;

36. case 14:

37. res= «E»+res;

38. break;

39. case 15:

40. }

41. res= «F»+res;

42. break;

43. }}

44. }

45. return res;

46. }

47. public static void main (String[] args) {

48. System.out.println (fromdectobin(90367));

49. System.out.println (fromdectohex(90367));

50. }

У даній програмі наведені два методи, один переводить десяткове число у двійкову систему числення, другий - у щістнадцяткову.

Для перекладу десяткового числа у двійкове подання використовується стандартний метод - розподіл вихідного числа на 2 зі збереженням залишку, у нашому прикладі залишок додається до рядка resс лівої сторони (08). У даному методі використовується цикл із передумовою while(), що щораз одержує залишок від розподілу на 2, потім ділить вихідне число на 2 і заносить отриманий у першій дії залишок ліворуч у рядок. Наприкінці, після циклу, метод повертає отриманий рядок.

Спосіб перекладу з десяткового в щістнадцяткове подання використовує аналогічний прийом, роблячи послідовно ділення на 16, за одним виключенням - залишок у нашій програмі обчислюється за допомогою функції floor(), що повертає цілу частину дробового числа. У результаті одержимо цілочисельний залишок від розподілу. Процес запису залишків у рядок більш складний, ніж у випадку двійкової системи числення, тому що в щістнадцятковий для подання числа недостатньо базового набору цифр від 0 до 9 і необхідно використовувати букви A-F. Для того щоб у рядок результату додавати букви, у програмі використовується оператор множинного выбору switch(), у якому виконується перевірка залишку. Залежно від величини залишку, у рядок результату додається необхідна буква (рядка 23-42).

Методи fromdectobin, fromdectohex повертають значення типу String, які можна безпосередньо використовувати як аргумент метода print() для виводу на консоль (рядка 48, 49). Як аргументи цих методів беруться числа, які потрібно перевести в задану систему числення.

Завдання до роботи: Для довільної цифри від 0 до 9 вивести на консоль її значення прописом. Наприклад, для цифри 9 на консолі повинна бути надрукована рядок «Дев'ять».

3.5 Використовування масивів в Java

Зміст роботи. Робота з масивами: пошук мінімального елемента й сортування масиву.

Програма1. Робота з масивами

1. public class Arrays {

2. public static short min() {

3. short x=0;

4. short[] array = new short[10];

5. System.out.print («Вихідний масив:»);

6. for (int i=0; i<10; i++) {

7. array[i]=(short) Math.round (50*Math.random());

8. System.out.print (array[i]+»,»);

9. }

10. x=array[0];

11. for (int i=1; i<10; i++) {

12. if (x>array[i]) {

13. x=array[i];

14. }

15. }

16. return x;

17. }

18. public static void sort() {

19. short temp;

20. short[] array = new short[10];

21. System.out.print («\nисходный масив:»);

22. for (int i=0; i<10; i++) {

23. array[i]=(short) Math.round (50*Math.random());

24. System.out.print (array[i]+»,»);

25. }

26. System.out.print («\nмассив відсортований:»);

27. for (int i=0; i<9; i++) {

28. for (int j=9; j>i; j-j-) {

29. if (array [j-1]>array[j]) {

30. temp=array[j];

31. array[j]=array [j-1];

32. array [j-1]=temp;

33. }

34. }

35. System.out.print (array[i]+»,»);

36. }

37. }

38. public static void main (String[] args) {

39. System.out.print («\nминимальныйэлемент: «+min());

40. sort();

41. }

42. }

У даній програмі використовуються два методи - min()і sort(). У кожному із представлених методів описується по одному масиву, виділяючи пам'ять на десять елементів для кожного масиву (04, 20). Потім відбувається заповнення масивів випадковими числами за допомогою метода Math.random() (06-09, 22-25). Явним перетворенням(short) приводимо отримані значення типу double до значення типу short (7,23).

Після того, як масиви готові, можна робити над ними різні дії. Метод min() шукає мінімальний елемент в отриманому масиві (11-15).

Другий метод робить сортування отриманого масиву (27-34) методом пухирця. Потім виводить значення його елементів (35).

У методі main() викликаємо min()і sort(). Оскільки метод min() повертає значення строкового типу, його можна використовувати як аргумент конструкції System. out.print().

3.6 Найпростіші прийоми роботи з рядками

Зміст роботи. Розглядається програма, у якій використовуються оператори роботи з рядками.

Програма 1. Робота з рядками

1. publicclassStrings {

2. public static String compare (String s1, String s2) {

3. String s3=»»;

4. if (s1.equals(s2)) {

5. s3= «Рядка \" «+s1+»\» і \» «+s2+»\» рівні»;

6. } else {

7. s3= «Рядка \" «+s1+»\» і \» «+s2+»\» не рівні»;

8. }

9. return s3;

10. }

11. public static String add (String s1, String s2) {

12. System.out.print («\nрезультат додавання рядків \"«+s1+»\» і «+»\» «+s2+»\»:»);

13. s1+=» «+s2;

14. return s1;

15. }

16. public static void main (String[] args) {

17. System.out.println (compare («АБВГ», «АБВ»));

18. System.out.print (compare («АБВ», «АБВ»));

19. System.out.print (add («Hello», «World»));

20. }

21. }

У додатку є два методи, які порівнюють і склеюють два рядки. Перший метод compare() робить порівняння двох рядків і виводить результат на консоль. Порівняння виконується за допомогою функції equals() у рядку (04). Якщо рядки збігаються, дана функція повертає значення true. Якщо рядки рівні (мають однаковий набір символів), виводиться відповідне повідомлення (05), інакше повідомлення (07).

У другому методі відбувається просте склеювання рядків за допомогою операції «+» (13).

3.7 Створення в NetBeans найпростішого додатка Java із графічним інтерфейсом

Зміст роботи: Вивчення платформи NetBeans і структури програми для створення додатків із застосуванням мови програмування Java.

Зміст роботи: Створення Java додатка із графічним інтерфейсом.

Оскільки, консольний ввід-вивід уживається досить рідко, тепер спробуємо створити додаток із графічним інтерфейсом. Розгялнемо приклад створення найпростішого додатку «HelloWorld»

У нашому проекті HelloWorld відкриємо File /NewFile. У діалозі, що відкрився, у списку категорій виберіть Swing GUI Forms. Виберіть тип файлу JFrameForm. Натисніть Next>(мал. 3.6.).Після цього введемо назву створюваного класу й пакет, де він буде зберігатися. І натискаємо Finish.

IDE створює новий клас. І відкриває його у візуальному редакторі форми. Тепер для додавання елементів на наш JFrame, досить просто використати простий DragandDrop.

Додамо на форму кнопки JButton і текстове поле JtextField. Логікою роботи програми буде вивід вітання в текстовому полі при натисканні першої кнопки, і очищення поля виводу при натисканні іншої кнопки.

Рис. 3.4. Створення проекту із графічним інтерфейсом

Рис. 3.5. Додавання елементів на форму

Вище на мал. 3.7. наведений дизайн форми. Всі елементи, що додають на форму, відображаються в панелі називаної Inspector. У ній легко одержати доступ до будь-якого елемента на формі. Навіть якщо він прямо не видний на формі (наприклад, такі елементи як ButtonGroup).

Для текстового поля заберемо текст jTextField1. Для цього на панелі властивостей поля знайдемо властивість текст і залишимо порожній рядок. Для кнопки 1 у поле властивості текст наберемо Greeting, а для кнопки 2 наберемо Clear. Ну й для всіх доданих нами елементів, поміняємо назви змінних на назви, які краще відбивають їхню функціональність. Це робиться виділенням елемента, і в його контекстному меню вибором пункту ChangeVariableName… (мал. 3.8)

Рис. 3.6. Перейменування змінної

У діалозі, що з'явився, Rename уводимо нове ім'я змінної jbGreet. Точно так само ім'я змінної для другої кнопки буде jbClear, а для текстового поля tfGreetMessage.Після цих дій додамо два оброблювачів подій для кожної із кнопок, які будуть створюватися при натисканні. Це найпростіше зробити також з контекстного меню елементів (див. мал. 3.9.).

Вибір пункту ActionPerformed означає, що ми хочемо додати оброблювач цієї події (натискання кнопки) для нашого елемента jbGreet. Після вибору цього пункту, середовище згенерує й покаже нам функцію, що буде викликатися при натисканні на кнопку.

privatevoidjbGreetActionPerformed (java.awt.event. ActionEventevt) {

 // TODO addyourhandlingcodehere:

}

Подкорректируем цю функцію:

privatevoidjbGreetActionPerformed (java.awt.event. ActionEventevt) {

 // TODO addyourhandlingcodehere:

tfGreetMessage.setText («Hello»);

}

У такий же спосіб створимо оброблювач події для натискання кнопки jbClear:

privatevoidjbClearActionPerformed (java.awt.event. ActionEventevt) {

 // TODO addyourhandlingcodehere:

tfGreetMessage.setText(«»);

}

3.8 Робота із графічним інтерфейсом користувача. Обробка подій

Зміст роботи: У даній роботі для створення програми графобудівника нам знадобиться чотири класи, які будуть перебувати в різних файлах. Спочатку перейменуйте пакет за замовчуванням в «MyGraph». Потім у даному пакеті створіть чотири нових класи:

· «Graphic» - головний клас, у якому буде метод main().

· «Sinus» - клас графіка синуса.

· «Cosinus» - клас графіка косинуса.

· «X2» - клас графіка параболи.

Пам'ятайте, якщо класи описані з кожним з модифікаторів видимості public, protected або private, то імена класів повинні збігатися з іменами файлів, у яких зберігаються дані класи.

Після того, як класи будуть створені, уведіть запропонований нижче код програми.

Програма 1. Побудова графіків елементарних функцій.

Клас Graphic:

1. package MyGraph;

2. import java.awt.*;

3. importjava.awt.event.*;

4. importjavax.swing.*;

5. public class Graphic extends JFrame {

6. Graphic (String s) {

7. super(s);

8. setLayout(null);

9. setSize (120,200);

10. setVisible(true);

11. this.setDefaultCloseOperation (EXIT_ON_CLOSE);

12. this.setResizable(false);

13. Button sin = new Button («Sin»);

14. sin.setBounds (5, 20, 100, 25);

15. add(sin);

16. Button cos = new Button («Cos»);

17. cos.setBounds (5, 70, 100, 25);

18. add(cos);

19. Button x2 = new Button («Парабола»);

20. x2.setBounds (5, 120, 100, 25);

21. add(x2);

22. sin.addActionListener (new ActionListener() {

23. public void actionPerformed (ActionEvent event) {

24. new Sinus («Синус»);

25. }

26. });

27. cos.addActionListener (new ActionListener() {

28. public void actionPerformed (ActionEvent event) {

29. new Cosinus («Косинус»);

30. }

31. });

32. x2.addActionListener (new ActionListener() {

33. public void actionPerformed (ActionEvent event) {

34. new X2 («Парабола»);

35. }

36. });

37. }

38. public static void main (String[] args) {

39. new Graphic («Графобудівник»);

40. }

41. }

Клас Sinus:

1. package MyGraph;

2. import java.awt. Color;

3. import java.awt. Graphics;

4. import javax.swing.JFrame;

5. public class Sinus extends JFrame {

6. Sinus (String s) {

7. super(s);

8. setLayout(null);

9. setSize (600,300);

10. setVisible(true);

11. this.setDefaultCloseOperation (DISPOSE_ON_CLOSE);

12. this.setResizable(false);

13. this.setLocation (100, 100);

14. }

15. public void paint (Graphics gr) {

16. int y; int j=0; int k=0;

17. gr.setColor (Color.WHITE);

18. gr.fillRect (0, 0, 600, 300);

19. gr.setColor (Color.lightGray);

20. while (j<600) {

21. gr.drawLine (j, 0, j, 300);

22. j+=30;

23. }

24. while (k<300) {

25. gr.drawLine (0, k, 600, k);

26. k+=30;

27. }

28. gr.setColor (Color.BLACK);

29. gr.drawLine (300, 0, 300, 300);

30. gr.drawLine (0, 150, 600, 150);

31. gr.drawLine (120, 140, 120, 160);

32. gr.drawLine (480, 140, 480, 160);

33. gr.drawString («0», 305, 165);

34. gr.drawString (» - «+»\u03c0», 125, 140);

35. gr.drawString («\u03c0», 485, 140);

36. gr.setColor (Color.RED);

37. for (double i=0; i<1000; i++) {

38. y=(int) (80*Math.sin (Math.PI*i/180));

39. gr.drawLine((int) i-240, y+150, (int) i-240, y+150);

40. }

41. gr.dispose();

42. }

43. }

КлассCosinus:

1. package MyGraph;

2. import java.awt. Color;

3. import java.awt. Graphics;

4. import javax.swing.JFrame;

5. public class Cosinus extends JFrame {

6. Cosinus (String s) {

7. super(s);

8. setLayout(null);

9. setSize (600,300);

10. setVisible(true);

11. this.setDefaultCloseOperation (DISPOSE_ON_CLOSE);

12. this.setResizable(false);

13. this.setLocation (200, 200);

14. }

15. public void paint (Graphics gr) {

16. int y; int j=0; int k=0;

17. gr.setColor (Color.WHITE);

18. gr.fillRect (0, 0, 600, 300);

19. gr.setColor (Color.lightGray);

20. while (j<600) {

21. gr.drawLine (j, 0, j, 300);

22. j+=30;

23. }

24. while (k<300) {

25. gr.drawLine (0, k, 600, k);

26. k+=30;

27. }

28. gr.setColor (Color.BLACK);

29. gr.drawLine (300, 0, 300, 300);

30. gr.drawLine (0, 150, 600, 150);

31. gr.drawLine (120, 140, 120, 160);

32. gr.drawLine (480, 140, 480, 160);

33. gr.drawString («0», 305, 165);

34. gr.drawString (» - «+»\u03c0», 125, 140);

35. gr.drawString («\u03c0», 485, 140);

36. gr.setColor (Color.RED);

37. for (double i=0; i<1000; i++) {

38. y=(int) (80*Math.cos (Math.PI*i/180));

39. gr.drawLine((int) i-240, y+150, (int) i-240, y+150);

40. }

41. gr.dispose();

42. }

43. }

Клас X2:

1. package MyGraph;

2. import java.awt. Color;

3. import java.awt. Graphics;

4. import javax.swing.JFrame;

5. public class X2 extends JFrame {

6. X2 (String s) {

7. super(s);

8. setLayout(null);

9. setSize (600,300);

10. setVisible(true);

11. this.setDefaultCloseOperation (DISPOSE_ON_CLOSE);

12. this.setResizable(false);

13. this.setLocation (300, 300);

14. }

15. public void paint (Graphics gr) {

16. int y; int j=0; int k=0;

17. gr.setColor (Color.WHITE);

18. gr.fillRect (0, 0, 600, 300);

19. gr.setColor (Color.lightGray);

20. while (j<600) {

21. gr.drawLine (j, 0, j, 300);

22. j+=50;

23. }

24. while (k<300) {

25. gr.drawLine (0, k, 600, k);

26. k+=50;

27. }

28. gr.setColor (Color.BLACK);

29. gr.drawLine (300, 0, 300, 300);

30. gr.drawLine (0, 150, 600, 150);

31. gr.drawString («0», 305, 165);

32. gr.setColor (Color.RED);

33. for (double i=0; i<1000; i++) {

34. y= - (int) (i*i/300)+150;

35. gr.drawLine((int) i+300, y, (int) i+300, y);

36. gr.drawLine(- (int) i+300, y, - (int) i+300, y);

37. }

38. gr.dispose();

39. }

40. }

У класі Graphics описане вікно розміром 120х200, у якому розташовані три кнопки. Натискання кнопки обслуговується (обробляється) спеціальною процедурою, що називається процедурою обробки події ActionEvent. При натисканні кнопки відбувається створення нової форми, у якій буде побудований відповідний графік елементарної функції (22-26, 27-31, 32-36).

Класи оброблювачів подій описані усередині параметра методу додавання слухача addActionListener() (22, 27, 32). Цікаво, що параметром цього методу є новий об'єкт інтерфейсу ActionListener з одним методом actionPerformed(), що і відповідає за поводження програми, у випадку якщо буде викликана дана подія (натискання на кнопки).

У класах, які роблять побудову графіків, у рядках 20-27 з використанням двох циклів відбувається побудова координатної сітки ясно-сірим кольором, потім чорним кольором будуються осі абсцис і ординат.

Найбільший інтерес представляють рядки 37-40 (для синуса й косинуса) і 33-37 (для параболи) у яких відбувається малювання графіків. Синус і косинус рисуються за аналогією: спочатку обчислюється значення y і методом drawString() рисується «лінія» довжиною в один піксель. Координата y обчислюється шляхом явного перетворення типу double у тип int, отриманого в результаті виконання вираження 80*Math.cos (Math.PI*i/180). Парабола будується аналогічним способом, у два етапи. На першому етапі будується позитивна частина параболи й далі негативна.

Програма 2. Напису на кнопках.

1. importjava.awt.*;

2. importjava.awt.event.*;

3. importjavax.swing.*;

4. public class ExtEventHandler extends JFrame {

5. ExtEventHandler (String s) {

6. super(s);

7. setLayout(null);

8. setSize (100,200);

9. setVisible(true);

10. setResizable(false);

11. setDefaultCloseOperation (EXIT_ON_CLOSE);

12. Button b1 = new Button («Перваякнопка»);

13. b1.setBounds (2, 5, 96, 22);

14. add(b1);

15. Button b2 = new Button («Втораякнопка»);

16. b2.setBounds (2, 100, 96, 22);

17. add(b2);

18. b1.addActionListener (new Handler (b1, b2));

19. b2.addActionListener (new Handler (b1, b2));

20. }

21. public static void main (String[] args) {

22. new ExtEventHandler(«»);

23. }

24. }

25. class Handler implements ActionListener {

26. private Button ba;

27. private Button bb;

28. String temp;

29. Handler (Button b1, Button b2) {

30. this.ba=b1;

31. this.bb=b2;

32. }

33. public void actionPerformed (ActionEvent e) {

34. temp = ba.getLabel();

35. ba.setLabel (bb.getLabel());

36. bb.setLabel(temp);

37. }

38. }

У класі ExtEventHandler (04-24) приводиться основний опис інтерфейсу користувача: форма розміром 100x200 і дві кнопки з написами: перша кнопка (12-14) і друга кнопка (15-17). У додатку для обробки подій, які виникають при натисканні на кнопки, описаний окремий клас Handler (25-38), що використовує інтерфейс ActionListener.

Оскільки в описі ActionListener не можна прямо використовувати компоненти, описані в конструкторі класу ExtEventHandler, то потрібно створити посилання на об'єкти, які будуть використані. Створення посилальних об'єктів виконується в рядках 26, 27, а самі посилання створюються в конструкторі (30, 31). Коли посилання готові, у процесі додавання слухачів (18, 19), у параметрах указуємо імена реальних компонентів. Таким чином, при натисканні на кожну із двох кнопок міняються місцями їхні написи (34-36).

Заключна частина

В ході виконання дипломної роботи були розроблені та протестовані додатки, які демонструють принципи роботи основних елементів мови Java за допомогою вільного середовища NetBeans.

В першій частині описується будова, функції та основні переваги Java-платформи. Розглянуто особливості сучасних засобів створення Java - додатків.

В другій частині дипломної роботи були описані основні елементи та засоби програмування мови Java.

Результатом виконання дипломної роботи є додатки, які демонструють використання основних елементів програмування мови Java, а також результати їх тестування.

Список використаної літератури

1. http://ru.wikipedia.org/wiki/NetBeans_IDE

2. Монахов Вадим Мова програмування Java і середовище NetBeans. - СПб.: «БХВ-Петербург», 2008. - С. 640.

3. ru.sun.com/java/j2ee/book/platform_Java.pdf - Платформа Java ™. Офіційне видання. Дуглас Крамер (Douglas Kramer)

4. Джамса Кріс. JAVA. Бібліотека програміста / / Попурі. - Мінськ, 1996.

5. Мейнджер Джейсон. JAVA: Основи програмування / Пер. з англ. С. Бойко під ред. Я. Шмідского. - К.: BNV, 1997.

6. http://www.citforum.ru/internet/javascript/crjp/

7. http://www.simplecoding.org/sredstva-razrabotki-na-java-neobxodimye-i-prosto-poleznye-programmy.html

8. Девід Фленаган Java в прикладах - довідник

9. Х.м. Дейтел, П.Дж. Дейтел, С.І. Сантрі - Технології програмування на Java

Размещено на Allbest.ru


Подобные документы

  • Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.

    курсовая работа [335,3 K], добавлен 11.01.2015

  • Історія розвитку мови Java, основні технології та їх застосування для роботи з SQL-серверами. Огляд багатопоточного програмування в Java. Принципи функціонування сервлетів та JSP-сторінок. Зміна розміру графічних об’єктів, робота з кольорами в Java.

    курсовая работа [49,3 K], добавлен 29.03.2010

  • Загальна характеристика та особливості програмування сучасних систем автоматизованого проектування. Порівняльна характеристика середовищ розробки прикладних програм на мові JAVA. Ознайомлення з принципами і особливостями роботи певних класів, компонентів.

    курсовая работа [2,0 M], добавлен 31.01.2014

  • Розробка кросплатформового інструменту електронного тестування учнів молодших та середніх класів по іноземній мові. Вибір середовища розробки та системи контролю версій. Опис мови програмування Java та лістинг програми. Апаратні та програмні вимоги.

    дипломная работа [608,3 K], добавлен 26.10.2010

  • Створення баз даних за допомогою стандартних бібліотек Java та клієнт-серверних програм. Основні стандартні класи і методи бібліотек SQL та swing, бібліотек, що дозволяють опрацьовувати дані СУБД та навчитись концепціям програмування мовою Java.

    лабораторная работа [215,3 K], добавлен 04.10.2011

  • Основні концепції компонентної розробки прикладних задач: com/dcom, Java Beans, corba, .net. Розробка стратегії гри для кожної категорії учасників, компонентів. Програмна реалізація спроектованої системи, обґрунтування вибору використовуваних засобів.

    курсовая работа [1,0 M], добавлен 11.11.2014

  • Архитектура Java и Java RMI, их основные свойства, базовая система и элементы. Безопасность и виртуальная Java-машина. Интерфейс Java API. Пример использования приложения RMI. Работа с программой "Calculator". Универсальность, портативность платформ.

    курсовая работа [208,6 K], добавлен 03.12.2013

  • Розробка логічної гри "Тетріс" у складі набору об’єктно-орієнтованих моделей, програмного коду з використанням об’єктно-орієнтованної мови Java. Проектування архітектури гри, аналіз вимог до неї, опис реалізації, кодування та тестування програми.

    курсовая работа [2,2 M], добавлен 24.10.2010

  • Характеристика об'єктно-орієнтованої мови програмування Java. Розробка програми з кнопками доступу до хімічної таблиці, списку елементів та додаткової інформації про програму та про продукт (ким був розроблений та звідки була взята інформація для нього).

    отчет по практике [2,6 M], добавлен 18.05.2014

  • Принцип работы Java. Аплеты как особенность Java-технологии, характеристика методов их защиты. Модель безопасности JDK1.2 и концепция "песочницы". Иерархия криптографических сервисов, алгоритмов. Объектная организация криптографической подсистемы Java.

    реферат [54,8 K], добавлен 09.09.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.