У меня почему-то выводит main метод вместо имени метода, что вызвал текущий метод :(
А что я делаю не так? Ведь я обращаюсь к самому свежему элементу Stack Trace.
package en.javarush.task.jdk13.task09.task0902;
/*
Stack trace revisited
*/
public class Solution {
public static void main(String[] args) {
method1();
}
public static String method1() {
method2();
//write your code here
int traceLength = Thread.currentThread().getStackTrace().length;
String methodName = Thread.currentThread().getStackTrace()[traceLength-1].getMethodName();
return methodName;
}
public static String method2() {
method3();
//write your code here
int traceLength = Thread.currentThread().getStackTrace().length;
String methodName = Thread.currentThread().getStackTrace()[traceLength-1].getMethodName();
return methodName;
}
public static String method3() {
method4();
//write your code here
int traceLength = Thread.currentThread().getStackTrace().length;
String methodName = Thread.currentThread().getStackTrace()[traceLength-1].getMethodName();
return methodName;
}
public static String method4() {
method5();
//write your code here
int traceLength = Thread.currentThread().getStackTrace().length;
String methodName = Thread.currentThread().getStackTrace()[traceLength-1].getMethodName();
return methodName;
}
public static String method5() {
//write your code here
int traceLength = Thread.currentThread().getStackTrace().length;
String methodName = Thread.currentThread().getStackTrace()[traceLength-1].getMethodName();
return methodName;
}
}