Единое окно доступа к образовательным ресурсам

Среда разработки Java-приложений Eclipse (ПО для объектно-ориентированного программирования и разработки приложений на языке Java): Учебное пособие

Голосов: 25

Учебное пособие представляет собой руководство по использованию среды разработки Eclipse для создания приложений на языке Java. Основное внимание уделено практическим приемам работы с Eclipse. Пособие предназначено для преподавателей, студентов, школьников старших классов, а также для специалистов, желающих освоить самостоятельно программирование на языке Java. Пособия подготовлены в рамках проекта "Пакет свободного программного обеспечения для образовательных учреждений России" и размещены на сайте информационной поддержки проекта <a href="http://linux.armd.ru" target="_blank">linux.armd.ru</a>.

Приведенный ниже текст получен путем автоматического извлечения из оригинального PDF-документа и предназначен для предварительного просмотра.
Изображения (картинки, формулы, графики) отсутствуют.
                С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse




           Рис. 26. Состояние переменных на первом шаге

      После вывода строки цикл начнет выполняться еще раз, перемен-
ная i изменится и станет равной 1. При этом в панели Variables она вы-
делится желтым цветом, что сигнализирует о изменении ее значения
(рис. 27).




            Рис. 27. Состояние переменных на втором шаге


     И так далее, нажимая клавишу F8 или кнопку      , программа бу-
дет переходить от одной точки прерывания к другой. Если точка преры-
вания установлена на оператор, находящийся в цикле, программа в
этом случае будет останавливаться на этой точке столько раз, сколько
раз будет проходить цикл.
     В отладчике Eclipse есть еще одна полезная функция, с помощью
которой можно увидеть значения сложных выражений. Например, нас
интересует значение логического выражения (условие), при котором
выполняется цикл. Для этого выделите нужный текст, в нашем случае
это i<10 в блоке условия цикла, и нажмите сочетание клавиш
<Ctrl>+<Shift>+D, появится всплывающее окно, в котором будет отоб-
ражен тип выражения (в нашем случае это boolean) и его состояние.
     Когда программа дойдет до конца, отладка закончится. Для повто-
ра отладки нужно еще раз нажать кнопку .
     Для прерывания работы отладчика нажмите кнопку                               в панели
Debug.


                                            41


            С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse


     Помимо отладки c использованием безусловных точек прерыва-
ния, возможно дополнительно установить условия останова на точке
прерывания. Это очень полезная особенность отладчика Eclipse, кото-
рая позволяет в некоторых случаях значительно упростить процесс от-
ладки.
     Для того, чтобы задать условие, при котором будет происходить
останов, нужно открыть окно свойств точки прерывания. Для этого на-
ведите курсор мыши на нужную точку прерывания в строке, нажмите
правую кнопку мыши, и выберите в раскрывающемся меню пункт
Breakpoint Properties, откроется окно свойств выбранной точки преры-
вания (рис. 28 ).
     Установите галочку на кнопке выбора Enable Condition (Включить
Условие) и в поле ввода введите необходимое условие, при котором бу-
дет происходить останов на данной точке. Для примера, введите логи-
ческое выражение (i%2)==0. Данное выражение будет принимать зна-
чение «истина» каждый раз, когда остаток от деления i на 2 будет ра-
вен 0, то есть каждый раз, когда i будет принимать четные значения.
Запустите процесс отладки и убедитесь в том, что теперь останов будет
происходить каждые два прохода цикла, а не один, как было раньше.
     Так же можно выбрать тип условия прерывания — ниже, под по-
лем ввода находится две кнопки выбора — condition is 'true' и value of
condition changes. При выборе первого, останов будет происходить каж-
дый раз, когда введенное логическое выражение примет значение «ис-
тина», при выборе второго, останов будет происходить каждый раз,
когда введенное значение или константа изменит свое значение.
    Раскрывающийся список Suspend Policy устанавливает политику
останова. При выборе значения Suspend Thread останов будет происхо-
дить на уровне текущего потока thread, при выборе Suspend VM — на
уровне самой виртуальной машины Java.




                                            42


С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse




        Рис. 28 Свойства точки прерывания




                                43


           С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse



Глава 3. Лабораторный практикум
     Лабораторная работа №1
     Тема работы. Введение в среду программирования Eclipse.
     Цель работы. Начальное знакомство с IDE Eclipse.
     Содержание работы. Рассматриваются базовые компоненты ин-
терфейса пользователя Eclipse. Компоновки, представления. Создание
проекта, создание и операции с классами.




    Задания к работе
       1. Установите последовательно компоновки на вашем рабочем
    столе: Java, Java Browsing, Debug. Укажите функции и назначение
    этих компоновок.
       2. Работа с представлениями. В компоновку Java добавьте но-
    вые представления: Problems, Members и затем их закройте. В
    компоновку Java Browsing добавьте новые представления: Debug,
    Display, Memory и затем их закройте.
       3. Создайте новый проект newProject1. Добавьте в него три пу-
    стых класса: wnclass1, wnclass2, wnclass3.
       4. Переименуйте классы, созданные в задании 3: fqrs1, fqrs2,
    fqrs3.


                                           44


              С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse


           5. Измените место расположение на диске классов поместив их
        в новый предварительно созданный каталог New.
           6. Удалите проект созданный в задании 3.
           7. Создайте новый проект Eclipse c именем newClock из приме-
        ра апплета JDKX.X.X./Demo/Clock.

        Лабораторная работа №2
        Тема работы. Введение в язык программирования Java.
        Цель работы. Первое знакомство с языком программирования
Java.
     Содержание работы. В данной работе подробно рассматривают-
ся программы, на основе которых учащиеся познакомятся со структу-
рой простейших программ Java.
    П р о г р а м м а 1 . Простейшая программа.
 01 public class Hello {
 02    public static void main(String[] args) {
 03       System.out.print("Добро пожаловать в мир Java!");
 04    }
 05 }
     Внимание: с целью облегчения комментирования текста про-
грамм практикума в листинги программ добавлена нумерация строк,
которую вы не найдете в редакторе кода Eclipse.
     Данная программа выводит сообщение на консоль (или в команд-
ную строку). Приводится описание класса с именем Hello в строке (01),
в котором имеется только один метод main()(02). При запуске програм-
мы управление передается этому методу и сразу же происходит вывод
сообщения на консоль.
     В самом начале не нужно пытаться понять, как устроен процесс
вывода, он достаточно сложный, нужно просто помнить, что вывод
производится конструкцией, называемой объектом стандартного вы-
вода System.out с использованием метода print. Метод println позво-
ляет после вывода строки осуществить переход курсора на новую стро-
ку.
    П р о г р а м м а 2 . Вывод текста несколькими строками.
 01 public class Hello2 {
 02 // Выполнятся приложение Java начинает с метода main
 03    public static void main(String[] args) {
 04    System.out.println("Добро\n пожаловать\n в мир\n Java!");
 05    } // окончание метода main
 06 } // окончание класса Hello2




                                              45


            С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse


     Управляющие Escape последовательности: \n-новая строка, \t-
перемещение на следующую позицию табуляции, \r-в начало текущей
строки, \\-обратный слеш, \» -двойные кавычки.
     Задания к работе
        1. Вывести на консоль следующий набор символов:
     а=1, c=a+1       m=2, n=3 решение уравнений
     b=6, d=b*2-1      p=4, g=5 нахождение корней
        2. Вывести на консоль следующий набор символов:
                  1
                1 2 3
              1 2 3 4 5
            1 2 3 4 5 6 7

      Лабораторная работа №3
      Тема работы. Алгоритмизация и использование управляющих
структур в Java.
      Цель работы. Использование циклов в приложении Java.
      Содержание работы. Рассмотрены программы, в которых ис-
пользуются операторы циклов For, While для многократного выполне-
ния определенных операторов.
      П р о г р а м м а 1 . Вычисление суммы и произведения последова-
тельности из 10 случайных чисел.
 01 public class ForCycle {
 02     public static void main(String[] args) {
 03        int tmp = 0;
 04        long tmp2 = 1;
 05        System.out.print("Сумма\t\tПроизведение \n");
 06        for(int i=0;i<10;i++){
 07           tmp += (int)Math.round(Math.random()*10);
 08           tmp2 = tmp2*tmp;
 09           System.out.print(tmp+"\t\t"+tmp2+"\n");
 10        }
 11     }
 12 }
      В строке 02 объявляем главный метод main(). В объявлении пере-
менной tmp типа int присваиваем ей начальное значение (tmp=0, ини-
циализация переменной tmp в строке 03). В переменной tmp будет хра-
ниться сумма 10 членов последовательности из случайных чисел. Далее
объявляем переменную tmp2 типа long, в которой будем хранить зна-
чения произведения членов последовательности (04). В цикле FOR
(06-10) находится сумма и произведение элементов последовательно-
сти. Генерация случайного члена последовательности осуществляется с


                                            46


           С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse


использованием стандартной функции Math.random(), которая возвра-
щает случайное число в диапазоне от 0 до 1. Далее умножаем слу-
чайное число на 10 и округляем Math.round() Печать результатов
производится в строке 09.
     П р о г р а м м а 2 . Вычисление квадратного корня числа с помо-
щью итерационной формулы Герона.
 01 public class Sqrt {
 02    static void sqrt(long a){
 03       double b=a;
 04       int i=0;
 05       while ((b*b>a)&&(i<200)){
 06          b=(b+a/b)/2;
 07          i++;
 08       }
 09       System.out.print(b);
 10    }
 11    public static void main(String[] args) {
 12       sqrt(45);
 13    }
 14 }
     Для вычисления квадратного корня числа используем итерацион-
                                  1       a
ную формулу Герона          X n1=  X n     . Для этого используем цикл
                                  2       Xn
while с предусловием ((b*b>a)&&(i<200)).
      В строке 02 объявляем новый метод sqrt() с одним параметром a
типа long. В объявлении переменной b типа double присваиваем ей на-
чальное значение (b=a, инициализация переменной b в строке 03). В
переменной b будем хранить промежуточные значения корня, вычисля-
емые в цикле по формуле Герона b=(b+a/b)/2. Далее объявляем пере-
менную i типа int и инициализируем ее значением 0. Данная перемен-
ная понадобится в качестве счетчика цикла.
      Далее    следует   цикл   While    (05-08)   с   предусловием
((b*b>a)&&(i<200)). Данное условие состоит из двух условий: квадрат
b должен быть больше начального значения a и значение счетчика не
должно превышать 200, то есть всего производится не более 200 итера-
ций. В данном цикле производится вычисление очередного значения
Xn, которое хранится в переменной b (06). Переменная b на каждом
шаге цикла изменяется, причем новое значение данной переменной за-
висит от предыдущего значения. В конце цикла увеличиваем счетчик i
на 1 в строке 07.
      В конце метода выводим полученное значение b в консольное
окно.

                                           47


            С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse


     В методе main() вызывается метод sqrt(45). В качестве парамет-
ра можно взять произвольное целое число (45), которое будет присвое-
но переменной a. (Помните, вызов каких-либо методов напрямую из ме-
тода, имеющего модификатор static, возможен только при условии,
что вызываемый метод тоже является статическим).
     Задания к работе
         1. С помощью цикла вычислите значение выражения 2n.
         2. Составьте программу расчета факториала для произвольного
      числа n<10.
         3. Даны два действительных числа. Необходимо получить их
      сумму, разность и произведение. Результат вывести на консоль.
         4. Определить время свободного падения материального тела с
      заданной высоты h. Результат вывести в консоль.
         5. Составьте программу для нахождения длины катета прямо-
      угольного треугольника (b), если известны длины гипотенузы (c) и
      катета (a). Результат вывести на консоль.

      Лабораторная работа №4
      Тема работы. Алгоритмизация и использование управляющих
структур в Java.
      Цель работы. Использование элементов организации ветвления
в Java.
      Содержание работы. В данной работе рассматриваются про-
граммы, использующие операторы ветвления. Ветвление используется
для организации различных направлений вычислительного процесса.
      П р о г р а м м а 1 . Вычисления числа Пи.
 01 public class Pi {
 02     static double pi;
 04     static void leibnic(){
 05        for(double i=1;i<100000000;i+=1){
 06           if (i%2==0){
 07              pi-=1/(2*i-1);
 09           }else{
 10              pi+=1/(2*i-1);
 12           }
 13        }
 14        pi*=4;
         System.out.print("\nЧисло Пи, подсчитанное по методу
15   Лейбница равно: "+pi);
16     }
17     static void vallis(){
18       double pi1=1, pi2=1;
19       for(double i=2;i<100000000;i+=2){


                                            48


               С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse


20             pi1*=i/(i+1);
21             pi2*=i/(i-1);
22         }
23       pi=pi1*pi2*2;
         System.out.print("\nЧисло Пи, подсчитанное по методу Валлиса
24   равно: "+pi);
25     }
26     public static void main(String[] args) {
27       leibnic();
28       vallis();
29     }
30   }
     В данной программе описаны два метода нахождения числа Пи:
метод Лейбница (ряд Лейбница) и метод Валлиса (формула Валлиса).
     В данной программе в строках 02 и 03 описываются static пере-
менная класса pi типа double. Расчеты методом Лейбница вызываются
в строке 27 благодаря использованию имени метода leibnic(). Ана-
логично в строке 28 вызываем метод Валлиса vallis().
     В методе Лейбница для вычисления числа Пи используется ряд:
      1 1 1 1 1       π
       − + − + ... =
      1 3 5 7 9       4
     Для вычисления данного ряда мы использовали цикл с условным
оператором, где проверяется условие на четность i%2==0, если оно вер-
но, то дробь имеет положительный знак pi+=1/(2*i-1), если нет, то
ставим знак минус. В конце, для получения приближенного значения
числа Пи, переменная pi умножается на 4 и выводится на консоль.
     Расчет по формуле Валлиса
      2 2 4 4 6 6 8 8      π
       ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ... =
      1 3 3 5 5 7 7 9      2
     происходит немного по-другому. В методе объявляются две пере-
менные pi1 и pi2 типа double в строке 18, первая хранит произведение
четных дробей, вторая — нечетных, затем их удвоенное произведение
присваивается переменной pi и выводится на консоль.
     П р о г р а м м а 2 . Нахождение решения уравнения A3 B3C3= ABC
01   public class Sol {
02     public static void work(){
03       long x=0;
04       for(int i=1;i<10;i++){
05       for (int j=0;j<10;j++){
06       for (int k=0;k<10;k++){
07         x=i*100+j*10+k;
08         if (x==(Math.pow(i,3)+Math.pow(j, 3) + Math.pow(k,3))){
09
       System.out.println(i+"^3+"+j+"^3+"+k+"^3+"+" = "+x);

                                               49


               С.А. Казарин, А.П. Клишин, Среда разработки Java-приложений Eclipse


10         }
11         }
12         }
13         }
14     }
15     public static void main(String[] args) {
16       work();
17      }
18    }
      Данная программа находит такие цифры A, B и C, сумма кубов ко-
торых равна числу, составленному из этих цифр.
      В программе имеются три цикла, вложенные друг в друга, каждый
цикл выполняется десять раз, таким образом тело цикла 07-09 выполня-
ется одну тысячу раз (10x10x10). Переменная x, составленная из кубов
счетчиков циклов, где первый счетчик играет роль сотен числа, второй
десятков, третий единиц. Если полученное x равно сумме кубов счетчи-
ков, то на консоль выводится информация о полученных цифрах и числе
x. Нахождение кубов чисел осуществляется с помощью метода pow()
класса Math, в качестве первого параметра выступает само число, а вто-
рым параметром служит показатель степени Math.pow(i,3). Можно ис-
пользовать более знакомую и привычную запись i*i*i, j*j*j и k*k*k.
      Задания к работе
          1. Создайте приложение, которое покажет, что для выражения
       a bn=cn (теорема Ферма) нет натуральных решений от 1 до 100
        n

      и n>2. Убедитесь, что есть решения для n=2, и выведите их в кон-
      соль.
                                     1 1 1         1    1
          2. Вычислить выражение 1 − + − + ... +     −      , используя
                                     2 3 4       9999 10000
      оператор условия.

     Лабораторная работа №5
     Тема работы. Алгоритмизация и использование управляющих
структур в Java.
     Цель работы. Организация ветвления в Java.
     Содержание работы. Рассматривается программа, в которой ис-
пользуется оператор множественного выбора, выполняющий задачу
множественного ветвления.
     П р о г р а м м а 1 . Перевод чисел из десятичной системы счисле-
ния в двоичную и шестнадцатеричную.
 01 public class Trans {
 02    public static String fromdectobin(int x){
 03       String res="";

                                               50



    
Яндекс цитирования Яндекс.Метрика