CodeGym
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题
问题
  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 所有问题
CodeGym/Java 任务帮助/I don't know anything about stack tracing, and this probl...
PeaceLovePang
等级 2
Warrington
  • 2020/6/2
  • 1982查看次数
  • 5评论

I don't know anything about stack tracing, and this problem took a long time to solve, so please help me.

关于任务的问题 重访堆栈跟踪
Java Syntax,  等级 9,  课时 2
已解决


写出相互调用的五种方法。
每个方法都应返回调用它的方法的名称。使用堆栈跟踪获取此信息。

要求:
  • 这一类应该有 5 个方法(除了 main 方法之外)。
  • 每个方法都应调用下一个方法:main 方法调用 method1,method1 调用 method2,依此类推。
  • 每个方法必须返回调用它的方法的名称。
  • 要获取调用方法的名称,请使用 getMethodName 方法。
....
package zh.codegym.task.task09.task0902; /* 重访堆栈跟踪 */ public class Solution { public static void main(String[] args) throws Exception { method1(); } public static String method1() { method2(); //在此编写你的代码 String a=null; StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace(); for (StackTraceElement element : stackTraceElements) { a=element.getMethodName(); //System.out.println(a); } return a; } public static String method2() { method3(); //在此编写你的代码 String a=null; StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace(); for (StackTraceElement element : stackTraceElements) { a=element.getMethodName(); //System.out.println(a); } return a; } public static String method3() { method4(); //在此编写你的代码 String a=null; StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace(); for (StackTraceElement element : stackTraceElements) { a=element.getMethodName(); //System.out.println(a); } return a; } public static String method4() { method5(); //在此编写你的代码 String a=null; StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace(); for (StackTraceElement element : stackTraceElements) { a=element.getMethodName(); //System.out.println(a); } return a; } public static String method5() { //在此编写你的代码 String a=null; StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace(); for (StackTraceElement element : stackTraceElements) { a=element.getMethodName(); //System.out.println(a); } return a; } }
0
评论 (5)
  • 热门
  • 最新
  • 最旧
您必须 登录 才能发表评论
Boreas
等级 17 , China
23 十月 2021, 14:57
thank you
0
Max Boom
等级 18 , Zlin, Czech Republic
2 六月 2020, 12:23解决方案
StackTraceElement[] stackTraceElement=Thread.currentThread().getStackTrace(); String a= stackTraceElement[2].getMethodName(); // System.out.println(a); return a;
+11
Max Boom
等级 18 , Zlin, Czech Republic
2 六月 2020, 12:26
stackTraceElement[0].getMethodName(); name: getStackTrace stackTraceElement[1].getMethodName(); name: 他自己的名称 stackTraceElement[2].getMethodName() name: 调用它的方法的名称
+3
PeaceLovePang
等级 2 , Warrington, United Kingdom
2 六月 2020, 15:32
Thanks for your help. I know better.
0
alittleblank
等级 9 , Hefei, China
13 七月 2020, 16:53
Why could only these numbers be right?Could be more specific explanation, thx a lot.
0
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym