main called method1, method1 called method 2, method2 called method3, method3 called method 4, method4 called method 5, method5 didn't call anyone.
The output I got is:
method4
method3
method2
method1
main
I believe this is what the assignment wants from me. What am I doing wrong?
package com.codegym.task.task09.task0902;
/*
Stack trace revisited
*/
public class Solution {
public static void main(String[] args) throws Exception {
method1();
String name = Thread.currentThread().getStackTrace()[1].getMethodName();
System.out.println(name);
}
public static String method1() {
method2();
String name = Thread.currentThread().getStackTrace()[1].getMethodName();
System.out.println(name);
return name;
}
public static String method2() {
method3();
String name = Thread.currentThread().getStackTrace()[1].getMethodName();
System.out.println(name);
return name;
}
public static String method3() {
method4();
String name = Thread.currentThread().getStackTrace()[1].getMethodName();
System.out.println(name);
return name;
}
public static String method4() {
method5();
String name = Thread.currentThread().getStackTrace()[1].getMethodName();
System.out.println(name);
return name;
}
public static String method5() {
return null;
}
}