Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

заменила тип Point на тип double, выводит ошибки

99K
31 августа 2017 года
Валентина Ярошенко
1 / / 31.08.2017
Реализовать функциональность абстрактного класса AbstractArrayOfPoints, приведенного в примере, через использование одномерного массива вещественных чисел. Каждая строка массива должен соответствовать точке. Осуществить тестирование класса.


package r.t.y;
public abstract class AbstractArrayOfPoints {
public abstract void setPoint(int i, double x, double y);
public abstract double getX(int i);
public abstract double getY(int i);
public abstract int count();
public abstract void addPoint(double x, double y);
public abstract void removeLast();
public void sortByX() {
boolean mustSort;
do {
mustSort = false;
for (int i = 0; i < count() - 1; i++) {
if (getX(i) > getX(i + 1)) {
// обмінюємо елементи місцями
double x = getX(i);
double y = getY(i);
setPoint(i, getX(i + 1), getY(i + 1));
setPoint(i + 1, x, y);
mustSort = true;
}
}
}
while (mustSort);
}
@Override
public String toString() {
String s = "";
for (int i = 0; i < count(); i++) {
s += "x = " + getX(i) + " ty = " + getY(i) + "n";
}
return s + "n";
}
public void test() {
addPoint(22, 45);
addPoint(4, 11);
addPoint(30, 5.5);
addPoint(-2, 48);
sortByX();
System.out.println(this);
}
}

package r.t.y;
public class ArrayOfPointObjects extends AbstractArrayOfPoints {
private Point[] p = { };

@Override
public void setPoint(int i, double x, double y) {
if (i < count()) {
p.setPoint(x, y);
}
}

@Override
public double getX(int i) {
return p.getX();
}

@Override
public double getY(int i) {
return p.getY();
}

@Override
public int count() {
return p.length;
}

@Override
public void addPoint(double x, double y) {
Point[] p1 = new Point[p.length + 1];
System.arraycopy(p, 0, p1, 0, p.length);
p1[p.length] = new Point(x, y);
p = p1;
}

@Override
public void removeLast() {
if (p.length == 0) {
return;
}
Point[] p1 = new Point[p.length - 1];
System.arraycopy(p, 0, p1, 0, p1.length);
p = p1;
}
public static void main(String[] args) {
new ArrayOfPointObjects().test();
}

}

package r.t.y;
public class Point {
private double x, y;

public Point(double x, double y) {
this.x = x;
this.y = y;
}

public double getX() {
return x;
}

public double getY() {
return y;
}

public void setPoint(double x, double y) {
this.x = x;
this.y = y;
}

}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог