package com.javarush.task.task09.task0902;
/*
И снова StackTrace
*/
import java.lang.Thread;
public class Solution {
public static void main(String[] args) throws Exception {
method1();
}
public static String method1() {
method2();
//напишите тут ваш код
return Thread.currentThread().gatMethodName();
}
public static String method2() {
method3();
//напишите тут ваш код
return Thread.currentThread().gatMethodName();
}
public static String method3() {
method4();
//напишите тут ваш код
return Thread.currentThread().getMethodName();
}
public static String method4() {
method5();
//напишите тут ваш код
return Thread.currentThread().getMethodName();
}
public static String method5() {
//напишите тут ваш код
return Thread.currentThread().getMethodName();
}
}
Rip Yan
22 уровень
кажется вообще не поняла...
Решен
Комментарии (8)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Pomidor
17 ноября 2017, 21:53
нужно: имя метода, вызвавшего его, полученное с помощью StackTrace.
для каждого метода:
1\ получить стектрейс, получили массив значений
2\ из него вычленить только тот, что указывает на метод, который вызвал
3\ вернуть его
-----
по пункту 2\ если не понятно какой именно выводить, распечатайте в консоль себе все значения стектрейса, найдите в нем нужный, затем просто пропишите только его в return
-----
ps почитайте комментарии к задаче
+2
Rip Yan
19 ноября 2017, 19:49
спасибо..прочитала,,
но смотрите,еще не понимаю,,,никто не вызывает 5ый метод,,так что он должен возвращать?
0
--------Master
19 ноября 2017, 19:51
Вызов method5() и возвращение полученного из него значения
+1
Rip Yan
19 ноября 2017, 20:01
так он вызывает и возврощает сам себя? что не правильно в моем коде?...извините за возможно глупый вопрос))
0
--------Master
19 ноября 2017, 20:09решение
По сути, тело всех методов в данном случае будет одинаковым, кроме вызова следующего метода: вызов метода, затем те же самые 2 строки получения и возвращения нужного значения, что и в method5. Возвращаемые данные нигде не используются и ни для чего не нужны, а смысл задания, как я понимаю, - просто дать хотя бы базовое понимание стека вызовов.
+4
Rip Yan
19 ноября 2017, 20:15
спа-си-бо :*
+1
Дамир Эсенов
6 марта 2018, 05:33
а почему индекс у StackTraceElement именно 2?
0
Maria
27 июня 2018, 14:22
0 - getStackTrace
1 - имя метода (свое имя)
2 - имя метода кто вызвал [1]
3 - имя метода кто вызвал [2]
4 - и т.д.
0