public class Solution {
public static void main(String[] args) throws Exception {
int stackTraceLength = method1().length - method10().length + 1;
System.out.println("Method1: " + method1().length);
System.out.println("Method10: " + method10().length);
System.out.println(stackTraceLength);
}
public static StackTraceElement[] method1() {
method2();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method2() {
//write your code here
method3();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method3() {
//write your code here
method4();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method4() {
//write your code here
method5();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method5() {
//write your code here
method6();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method6() {
//write your code here
method7();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method7() {
//write your code here
method8();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method8() {
//write your code here
method9();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method9() {
method10();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method10() {
return Thread.currentThread().getStackTrace();
}
}
I am getting 12 for the length of method10() and I don't know why. Thanks in advance.package com.codegym.task.task09.task0904;
/*
Stack trace with 10 calls
*/
public class Solution {
public static void main(String[] args) throws Exception {
int stackTraceLength = method1().length - method10().length + 1;
System.out.println("Method1: " + method1().length);
System.out.println("Method10: " + method10().length);
System.out.println(stackTraceLength);
}
public static StackTraceElement[] method1() {
method2();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method2() {
//write your code here
method3();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method3() {
//write your code here
method4();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method4() {
//write your code here
method5();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method5() {
//write your code here
method6();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method6() {
//write your code here
method7();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method7() {
//write your code here
method8();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method8() {
//write your code here
method9();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method9() {
method10();
StackTraceElement[] element = Thread.currentThread().getStackTrace();
return element;
}
public static StackTraceElement[] method10() {
return Thread.currentThread().getStackTrace();
}
}