Arrays.toString,没有库

Tho*_*son 1 java tostring

我的Java任务正在疯狂.我对方法很陌生,我似乎无法理解这个方法.你能给我一个指导手吗?

我正在尝试将int数组转换为字符串并使用.
toString方法.我们不允许使用某些库.我从代码中得到的只是一个'stack overflow'...

码:

public static void main(String[] args) {
    int[] arr = {3,4,5,6,7};

    String str = toString(arr);
    System.out.println("arr = " + str);
}

private static String toString(int[] arr) {
    String str = Arrays.toString(arr);
    return str;
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,这是我的程序的完整代码:

public class Arrays {

public static void main(String[] args) {
    int[] arr = {3,4,5,6,7};

    int result = sum(arr);
    System.out.println(result);

    String str = toString(arr);
    System.out.println("arr = " + str);
}

private static int sum(int[] arr) {
    int result = 0;
    for (int i = 0; i < arr.length; i++) {
        result += arr[i];
    }
    return result;
}

private static String toString(int[] arr) {
    String str = Arrays.toString(arr);
    return str;
}


}
Run Code Online (Sandbox Code Playgroud)

我的控制台中的结果:

25
Exception in thread "main" java.lang.StackOverflowError
  at tb222kc_lab3.Arrays.toString(Arrays.java:24)
  at tb222kc_lab3.Arrays.toString(Arrays.java:24)
  at tb222kc_lab3.Arrays.toString(Arrays.java:24).....
Run Code Online (Sandbox Code Playgroud)

小智 8

将您Arrays.toString(arr)toString方法更改为java.util.Arrays.toString(arr)

您的代码已进入递归调用,因为您已将类命名为 Arrays