Иллюстрированный самоучитель по Java


         

показано, как можно оформить


по значению.

В листинге 2. 1 показано, как можно оформить метод деления пополам для нахождения корня нелинейного уравнения из листинга 1.5.



Листинг 2.1.


Нахождение корня нелинейного уравнения методом бисекцйи

class Bisection2{

private static double final EPS = le-8; // Константа

private double a = 0.0, b = 1.5, root;  // Закрытые поля

public double getRoot(}{return root;}   // Метод доступа

private double f(double x)

{

return x*x*x — 3*x*x + 3;   // Или что-то другое 

}

private void bisect(){      // Параметров нет —

                            // метод работает с полями экземпляра

double у = 0.0;             // Локальная переменная — не поле 

do{

root = 0.5 *(а + b); у = f(root);

if (Math.abs(y) < EPS) break;

// Корень найден. Выходим из цикла

// Если на концах отрезка [a; root] 

// функция имеет разные знаки: 

if (f(а) * у < 0.0} b = root;

      // значит, корень здесь

      // Переносим точку b в точку root

      //В противном случае: 

else a = root;

      // переносим точку а в точку root

      // Продолжаем, пока [а; Ь] не станет мал 

} while(Math.abs(b-a) >= EPS); 

}

public static void main(String[] args){ 

Bisection2 b2 = new Bisection2(); 

b2.bisect(); 

System.out.println("x = " +

b2.getRoot() +    // Обращаемся к корню через метод доступа 

", f() = " +b2.f(b2.getRoot())); 



}

В описании метода

f()

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


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий