Я этот StackTrace практически и не понял, хоть и искал инфу в интернете. Но! Я проверил свою догадку с помощью sout, цифры выходили правильные, но проверку не проходит. Почему?
package com.javarush.task.task09.task0903;
/*
Кто меня вызывал?
*/
public class Solution {
public static void main(String[] args) throws Exception {
method1();
}
public static int method1() {
StackTraceElement[] el = Thread.currentThread().getStackTrace();
// System.out.println(el[el.length-1].getLineNumber());
method2();
return el[el.length-1].getLineNumber();
}
public static int method2() {
StackTraceElement[] el = Thread.currentThread().getStackTrace();
// System.out.println(el[el.length-2].getLineNumber());
method3();
return el[el.length-2].getLineNumber();
}
public static int method3() {
StackTraceElement[] el = Thread.currentThread().getStackTrace();
// System.out.println(el[el.length-3].getLineNumber());
method4();
return el[el.length-3].getLineNumber();
}
public static int method4() {
StackTraceElement[] el = Thread.currentThread().getStackTrace();
// System.out.println(el[el.length-4].getLineNumber());
method5();
return el[el.length-4].getLineNumber();
}
public static int method5() {
StackTraceElement[] el = Thread.currentThread().getStackTrace();
//System.out.println(el[el.length-5].getLineNumber());
return el[el.length-5].getLineNumber();
}
}