Задачу решил. Но никак не смог вывести результат в консоль.Пробовал так:
System.out.println(a);
System.out.println(this.a);
System.out.println(getDistance.a);
Но ни один из вариантов не сработал.
Как правильно вывести результат в консоль?
jorg
9 уровень
А как вывести результат?
Решен
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Alexandr Ikert
28 марта 2019, 13:23
System.out.println(getDistance(2,2,5,7));
0
Юлия
21 декабря 2018, 12:20
в этой задаче же не нужно выводить результат в консоль
но если очень хочется, то метод getDistance - статический, а значит, вызывается не через имя объекта, а через имя класса . Выглядит это как "имя класса.getDistance(параметры)". кроме того, у этого метода четыре параметра по условию задачи.
0
jorg
21 декабря 2018, 20:48
ХОЧЕТСЯ и очень, понять как это работает.
Прежде чем собрать решение в одну строку надо было правильно написать синтаксис возведения в квадрат и извлечения корня. Делал по действиям и не смог в теле метода getDistance ничего вывести для контроля промежуточных значений. Вот, что у меня вышло:
public class Util {
public static double getDistance(int x1, int y1, int x2, int y2) {
//напишите тут ваш код
System.out.println("Попытка вывода до return"); // строка компилируется, но в консоль не выводится.
double a = 5;
System.out.println(a); // строка компилируется, но в консоль не выводится.
return a;
// System.out.println("Попытка вывода после return"); Ошибка при компиляции.
}
public static void main(String[] args) {
// System.out.println(a); Ошибка при компиляции.
// System.out.println(this.a); Ошибка при компиляции.
// System.out.println(getDistance.a); Ошибка при компиляции.
// System.out.println(Util.getDistance(a)); Ошибка при компиляции.
System.out.println("Попытка вывода хоть, что нибудь"); // строка выводится в консоль.
}
}
А по логике надо после нахождения длины отрезка вывести значение "а" в консоль. Вот я и не могу понять как дотянуться до результата который возвращен в метод getDistance?
0
Дмитрий СоснинExpert
21 декабря 2018, 20:54полезный
Перед попыткой вывести хоть что нибудь, можешь ввести
System.out.println(Util.getDistance(1,2,3,4));
У тебя этот метод как никак 4 аргумента принимает.
+1
jorg
22 декабря 2018, 19:19
Наконец то код выдал результат. Немного поигравшись до меня стало доходить отличие паскаля и ООП. Компилятор начинает выполнять код с метода main и неважно, что написано до него. Мы можем задать координаты явно или вычислить и передать их в метод
getDistance:
int a = 1, b = 4, c = 2 + 1, d = 7;
System.out.println(Util.getDistance(a, c, b, d) + " - результат в main");
В методе getDistance происходит вычисление (сработали выводы до return). После return до закрытой кавычки компилятор игнорирует код. Далее вычисленное значение передается в метод main и выводится в консоль.
Попытка вывода до return
5.0 - промежуточное значение в getDistance
5.0 - результат в main
Попытка вывода хоть, что нибудь
Если я где то еще блуждаю, пожалуйста, поправьте.
Спасибо за совет. С пониманием происходящего начал появятся азарт (темная сторона начала захватывать).
0
Bulat Latypov, QA/SE
21 декабря 2018, 11:47
Скорее всего, инструкцию с выводом переменной, ты написал в другой области видимости.
Т.е. твоя переменная лежит вне видимости - просмотри внимательней все фигурные скобки.
0
Евгения
20 декабря 2018, 21:39
напиши свой код
0
--------Master
20 декабря 2018, 21:18
В текущем методе доступна переменная а (включая поле текущего класса)?
В текущем классе объявлено поле а?
getDistance - какой-то объект, у которого есть поле а?
0