package com.javarush.task.task09.task0902;
/*
И снова StackTrace
*/
public class Solution {
public static void main(String[] args) {
System.out.println(method1());
System.out.println(method2());
System.out.println(method3());
System.out.println(method4());
System.out.println(method5());
method1();
}
public static String method1() {
method2();
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
return stackTraceElements[2].getMethodName();
}
public static String method2() {
method3();
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
return stackTraceElements[2].getMethodName();
}
public static String method3() {
method4();
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
return stackTraceElements[2].getMethodName();
}
public static String method4() {
method5();
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
return stackTraceElements[2].getMethodName();
}
public static String method5() {
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
return stackTraceElements[2].getMethodName();
}
}
Вывод:
main
main
main
main
main
Новиков Павел
16 уровень
Ну Ок, задача решена, но если вывести на экран, то получается совсем другое.
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Новиков Павел
20 апреля 2020, 19:04
Ага, разобрался, спасибо.
0
Василий БабинМракоборец в ДурмстрангExpert
20 апреля 2020, 18:02решение
Всё верно выводи.
Ведь вы вызываете каждый метод из main, вот он вам и возвращает его - main.
Каждый метод возвращает имя метода, вызвавшего его.
+2