在静态方法中调用非静态方法

A. 托雷斯

我的代码有点问题。我试图找到运行时与我为这个问题准备的一些数学进行比较。我特别有一种方法,我正在测试它是这样的:

 public static int foo(int n, int k){
        long startTime = System.nanoTime();
        if(n<=k){
            long endTime = System.nanoTime();
            System.out.println("checkFoo");
            System.out.println("start time: " +startTime);
            System.out.println("end time: " +endTime);
            return 1;
        }
        else{
            return foo(n/k,k) + 1;
        }
    }

我通过以下方式在我的主要方法中测试此代码:

public static void main(String[] args){
    foo(1, 1);
    foo(5, 1); 
    foo(10, 1);
    foo(100, 1);
}

我收到一个错误,它说

Exception in thread "main" java.lang.StackOverflowError

然后它重复这一行:

at Problem3.foo(Problem3.java:42) 

我想知道这是否与 foo 应该返回一个 int 的事实有关,也许我只是没有正确调用该函数。如果是这种情况,那么调用此函数的正确方法是什么,以便它也打印出我需要的信息?或者这个错误与我理解的完全不同?

JB尼泽

你只有一个无限递归循环:

foo(5, 1): n = 5, k = 1
calls foo(5 / 1, 1), i.e. foo(5, 1)
calls foo(5 / 1, 1), i.e. foo(5, 1)
calls foo(5 / 1, 1), i.e. foo(5, 1)
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从不同的非静态类中调用非静态方法

来自分类Dev

JavaScript中的静态方法可以调用非静态方法吗

来自分类Dev

从android中的静态方法调用非静态方法

来自分类Dev

从基类的静态创建方法中调用非静态方法

来自分类Dev

从android中的静态方法调用非静态方法

来自分类Dev

在非静态方法中调用的静态方法的早期绑定

来自分类Dev

从静态方法调用非静态方法

来自分类Dev

在Clojure中调用Java非静态方法

来自分类Dev

在Java中的静态方法中调用非静态方法(非静态变量错误)

来自分类Dev

从Java中的静态成员调用非静态方法

来自分类Dev

使用在静态方法中创建的实例,从静态方法中调用非静态方法

来自分类Dev

非静态方法.....不应静态调用

来自分类Dev

从静态内部类调用非静态方法

来自分类Dev

非静态方法不应静态调用

来自分类Dev

从静态内部类调用非静态方法

来自分类Dev

.Net 中的静态方法与非静态方法

来自分类Dev

无法调用非静态方法

来自分类Dev

从另一个非静态方法中调用非静态方法

来自分类Dev

从另一个非静态方法中调用非静态方法

来自分类Dev

Android Studio 中的非静态方法无法调用非静态方法

来自分类Dev

在非静态方法中调用没有类实例的非静态方法

来自分类Dev

在C ++中调用静态链接的静态方法

来自分类Dev

静态方法与非静态方法

来自分类Dev

变量不会增加,从静态方法调用非静态方法

来自分类Dev

在静态Web方法内调用非静态方法

来自分类Dev

使用“self”从静态方法调用非静态方法

来自分类Dev

为什么在调用非静态方法时会调用结构中的静态构造函数?

来自分类Dev

在Java中调用非静态方法之前创建实例

来自分类Dev

如何在tpl文件中调用tcpdf非静态方法

Related 相关文章

  1. 1

    从不同的非静态类中调用非静态方法

  2. 2

    JavaScript中的静态方法可以调用非静态方法吗

  3. 3

    从android中的静态方法调用非静态方法

  4. 4

    从基类的静态创建方法中调用非静态方法

  5. 5

    从android中的静态方法调用非静态方法

  6. 6

    在非静态方法中调用的静态方法的早期绑定

  7. 7

    从静态方法调用非静态方法

  8. 8

    在Clojure中调用Java非静态方法

  9. 9

    在Java中的静态方法中调用非静态方法(非静态变量错误)

  10. 10

    从Java中的静态成员调用非静态方法

  11. 11

    使用在静态方法中创建的实例,从静态方法中调用非静态方法

  12. 12

    非静态方法.....不应静态调用

  13. 13

    从静态内部类调用非静态方法

  14. 14

    非静态方法不应静态调用

  15. 15

    从静态内部类调用非静态方法

  16. 16

    .Net 中的静态方法与非静态方法

  17. 17

    无法调用非静态方法

  18. 18

    从另一个非静态方法中调用非静态方法

  19. 19

    从另一个非静态方法中调用非静态方法

  20. 20

    Android Studio 中的非静态方法无法调用非静态方法

  21. 21

    在非静态方法中调用没有类实例的非静态方法

  22. 22

    在C ++中调用静态链接的静态方法

  23. 23

    静态方法与非静态方法

  24. 24

    变量不会增加,从静态方法调用非静态方法

  25. 25

    在静态Web方法内调用非静态方法

  26. 26

    使用“self”从静态方法调用非静态方法

  27. 27

    为什么在调用非静态方法时会调用结构中的静态构造函数?

  28. 28

    在Java中调用非静态方法之前创建实例

  29. 29

    如何在tpl文件中调用tcpdf非静态方法

热门标签

归档