我开始想知道是否有办法找出返回哪些方法参数。
如果在几个类中有几个方法,也许通过查看方法签名可以更容易地找出值来自参数的位置。
如果我们的课程结构非常复杂怎么办?我们怎样才能有效地弄明白呢? (除了使用调试器)
我很感激你的意见!
例如,
public class Recursion_fig18_9 {
//recursive declaration of method factorial
public static long factorial(long number){
long result = 1;
//iterative declaration of method factorial
for (long i = number; i >=1; i--){
result *= i;
}
return result;
}
//output factorials for values of 0 to 10
public static void main(String[] args) {
//calculate the factorials from 0 to 10
for (int counter =0; counter <= 10; counter ++){
System.out.printf("%d! = %d%n", counter, factorial(counter));
}
}
(虽然这个例子是相当小的类结构,) 如何确定在阶乘方法中返回“数字”的位置?
答案 0 :(得分:1)
使用调试器可以在方法中设置断点。当该方法中断时,您将看到一个堆栈框架,指示对方法的调用来自何处,这将帮助您追溯方法调用以确定其构造方式。
在代码示例中,将断点放在return
语句上,以便在返回之前检查返回值。
或者,您可以使用记录器生成日志文件,并查看代码如何逐步完成。您可以在事后退回日志记录级别,这样您就不必经常更改代码。有关记录here
的更多信息答案 1 :(得分:0)
我正在回顾我的旧问题,我正在回答我自己的问题。
您可以轻松搞清楚,而不使用调试哪个方法调用当前方法并通过
传递参数