@Saika2020

Что не так с кодом Java?

У меня задание:
1. Создайте форму класса
2. Создайте массив точек
3. Создайте метод, который добавляет точку в массив точек (addPoint)
4. Создайте метод, который вычисляет периметр фигуры
5. Протестируйте программу

Я написал вот так:
import java.util.ArrayList;

public class Main
{
	public static void main(String[] args) {
		arrayList.addPoint(5.0,5.0,5.0);
		console.log(arrayList.perShape());
	}
}

class Shape {
    ArrayList<Double> arrayList = new ArrayList<>();
    
    public void addPoint(double x, double y, double z) {
        arrayList.add(x);
        arrayList.add(y);
        arrayList.add(z);
    }
    
    public double perShape() {
        double per = arrayList.get(0) + arrayList.get(1) + arrayList.get(2);
        return per;
    }
}


У меня возникает ошибка и я не знаю где. Кто знает где у меня ошибка?
  • Вопрос задан
  • 156 просмотров
Пригласить эксперта
Ответы на вопрос 3
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
Учись читать сообщения компилятора. А так у тебя всё не так, в коде практически нет правильных строк.
Точка должна содержать свои координаты.
Массив должен содержать точки, а не даблы.
Массив ее не должен быть внутри точки.
Периметр одной точки это оксюморон, и конечно, периметр вычисляется не сложением координат.
Ответ написан
@WaterSmith
Android-разработчик. Java, Kotlin
В классе Main в методе main идет обращение к необьявленной переменной arrayList.
Далее, кроме грубой синтаксической ошибки, здесь есть логическая. При вычислении периметра, вы просто складываете все координаты первой точки. Это точно не периметр!
Для определения расстояния между двумя точками, нужно извлечь квадратный корень из суммы квадратов разностей всех координат.
Ответ написан
Комментировать
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
console.log(arrayList.perShape());
Т.е. никого не напрягает, что эта строчка кода вообще не из Java, а скорее из JavaScript?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы