Срок выполнения задания:
В среде Intellij Idea создать проект Maven по шаблону quickstart. Убедиться в появлении веток java/main
и java/test
в разделе src
проекта, а также файла с конфигурацией pom.xml
в корне проекта.
Добавить в проект класс Sqrt, содержащий алгоритм вычисления квадратного корня методом последовательных приближений.
class Sqrt
{
double delta=0.00000001;
double arg;
public Sqrt(double arg) {
this.arg=arg;
}
public double average(double x,double y) {
return (x+y)/2.0;
}
public boolean good(double guess,double x) {
return Math.abs(guess*guess-x)<delta;
}
public double improve(double guess,double x) {
return average(guess,x/guess);
}
public double iter(double guess, double x) {
if(good(guess,x))
return guess;
else
return iter(improve(guess,x),x);
}
public double calc() {
return iter(1.0,arg);
}
}
В класс Program можно поместить следующий демонстрационный пример:
class Program
{
public static void main(String[] args)
{
double val=Double.parseDouble("2.0");
Sqrt sqrt=new Sqrt(val);
double result=sqrt.calc();
System.out.println("Sqrt of " + val + " = " + result);
}
}
Далее, построить проект и убедиться, что консольное приложение запускается без ошибок и выводит на экран некоторую информацию.
Добавить в проект поддержку jUnit и поместить в соответствующий исходный файл тесты для покрытия всех методов класса Sqrt. провести анализ покрытия средствами Intellij Idea.
Загрузить проект на GitHub и убедиться в работоспособности проектами через сценарии GH Actions.