Решение правильно работает: выводит номер линии, с которой был вызван данный метод, но задача проверку не проходит.
Сервер не может корректно протестировать присланное решение. Убедись в наличии всех необходимых классов. Проверь, что в решении нет бесконечных циклов.
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 int method1() {
method2();
//напишите тут ваш код
// StackTraceElement[] stackTrace = new Throwable().getStackTrace();
// int line = stackTrace[1].getLineNumber();
int line = Thread.currentThread().getStackTrace()[2].getLineNumber();
System.out.println(line);
return line;
}
public static int method2() {
method3();
//напишите тут ваш код
// StackTraceElement[] stackTrace = new Throwable().getStackTrace();
// int line = stackTrace[1].getLineNumber();
int line = Thread.currentThread().getStackTrace()[2].getLineNumber();
System.out.println(line);
return line;
}
public static int method3() {
method4();
//напишите тут ваш код
// StackTraceElement[] stackTrace = new Throwable().getStackTrace();
// int line = stackTrace[1].getLineNumber();
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
int line = stackTraceElements[2].getLineNumber();
System.out.println(line);
return line;
}
public static int method4() {
method5();
//напишите тут ваш код
//StackTraceElement[] stackTrace = new Throwable().getStackTrace();
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
int line = stackTraceElements[2].getLineNumber();
System.out.println(line);
return line;
}
public static int method5() {
//напишите тут ваш код
// StackTraceElement[] stackTrace = new Throwable().getStackTrace();
//int line = stackTrace[1].getLineNumber();
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
int line = stackTraceElements[2].getLineNumber();
System.out.println(line);
return line;
}
}