Java Arrays.toString,无库

Java Arrays.toString,无库,java,tostring,Java,Tostring,我的java作业快疯了。我对这些方法相当陌生,我似乎无法理解这一点。你能给我一个指引吗 我正在尝试将int数组转换为字符串,并使用。toString方法。但是,我们不允许使用某些库。我从代码中得到的只是一个“堆栈溢出” 代码: public static void main(String[] args) { int[] arr = {3,4,5,6,7}; String str = toString(arr); System.out.println("arr = " +

我的java作业快疯了。我对这些方法相当陌生,我似乎无法理解这一点。你能给我一个指引吗

我正在尝试将int数组转换为字符串,并使用。toString方法。但是,我们不允许使用某些库。我从代码中得到的只是一个“堆栈溢出”

代码:

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;
}
这是到目前为止我的程序的完整代码:

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;
}


}
将toString方法中的Arrays.tostringar更改为java.util.Arrays.tostringar

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

将toString方法中的Arrays.tostringar更改为java.util.Arrays.tostringar

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

,然后我将创建自己的toString,如下所示:

public String toString(int[] arr) {
    StringBuilder result = new StringBuilder();
    result.append("[");
    for (int a : arr) {
        result.append(a);
    }
    result.append("]");
    return result.toString();
}
然后我将创建自己的toString,如下所示:

public String toString(int[] arr) {
    StringBuilder result = new StringBuilder();
    result.append("[");
    for (int a : arr) {
        result.append(a);
    }
    result.append("]");
    return result.toString();
}

您的toString方法应如下所示:

private static String toString(int[] arr) {
    String str = "[";
    for (int index = 0; index < arr.length; index++) {
        // Concat the string with the int value.
        str += arr[index];

        // Add delimiter only if we're not at the last index.
        if (index < arr.length - 1) {
          str += ", ";
        }
    }
    str += "]";
    return str;
}

我只想补充一点,大学教授给学生的要求与现实生活无关,比如不要使用图书馆,这是臭名昭著的。你的toString方法应该是这样的:

private static String toString(int[] arr) {
    String str = "[";
    for (int index = 0; index < arr.length; index++) {
        // Concat the string with the int value.
        str += arr[index];

        // Add delimiter only if we're not at the last index.
        if (index < arr.length - 1) {
          str += ", ";
        }
    }
    str += "]";
    return str;
}


我只想补充一点,大学教授给学生的要求与现实生活毫无关系,比如不要使用库,这是臭名昭著的。

给我们看看你的堆栈溢出生成代码吧?:因此,问题是,您是在尝试按原样打印数据类型的数组,还是在积极尝试将数组中的每个元素转换为特定的数据类型?您可以将java.util.Arrays.ToString对象[]源作为example@xs0我编辑以显示整个代码和输出:显示您的堆栈溢出生成代码吗因此,问题是,您是在尝试按原样打印数据类型的数组,还是在积极尝试将数组中的每个元素转换为特定的数据类型?您可以将java.util.Arrays.ToString对象[]源作为example@xs0我编辑以显示整个代码和输出:谢谢,但这将调用一个库,不是吗?我不允许使用图书馆来完成这项任务。@YCF_L那么就没有办法了?我们得到了要使用的类的名称…谢谢,但这将调用一个库,不是吗?我不允许使用图书馆来完成这项任务。@YCF_L那么就没有办法了?我们得到了要使用的类的名称…你能定义什么是库@JamesDunn吗?嗯,可能有几种方法。。。从技术上讲,java.lang是一个库,但字符串会计数,这将是一个奇迹。。。StringBuilder可以算作图书馆,也可以不算作图书馆,但问题不是我,而是托马斯·本特森的教授。教授们拒绝图书馆是愚蠢的,所以谁知道教授会对StringBuilder说些什么呢?我个人觉得没问题,但我不知道这个教授。。。也就是说,我喜欢你的答案,所以我投了更高的票。@JamesDunn然后检查JamesDunn的答案他不使用stringbuilder你能定义什么是库吗@JamesDunn请?嗯,可能有几种方法。。。从技术上讲,java.lang是一个库,但字符串会计数,这将是一个奇迹。。。StringBuilder可以算作图书馆,也可以不算作图书馆,但问题不是我,而是托马斯·本特森的教授。教授们拒绝图书馆是愚蠢的,所以谁知道教授会对StringBuilder说些什么呢?我个人觉得没问题,但我不知道这个教授。。。也就是说,我喜欢你的答案,所以我投了更高的票。@JamesDunn然后检查James Dunn的答案,他不使用StringBuilder根据你的评论-在不限制图书馆使用的情况下,很难想出好的和简短的家庭作业任务来训练某种技能。您是否认为实现一个自己的LinkedList的任务是一个糟糕的任务,因为已经存在一个实现?好奇地问,因为我大体上同意这种关于教学编程的说法,并且想从中收集更多的资料people@Fureeish不,我不认为这是个坏主意。事实上,尽管我在上面打了一针,但这是一个很好的任务。事实上,现在我脱下我的偏见帽子不,这样分配任务是有道理的。事实上,如果我是一名编码教授,一开始我可能会和初学的学生一起做。对人们来说,拥有编写基本任务代码的技能是件好事。我想jab的作用在于,在现实生活中,当有人已经为你编写了代码时,你不应该重新发明轮子。工作世界中的合作是学术界的作弊PI会接着说,如果我是教授,我会强调你最好在现实生活中使用图书馆。。。我完全同意,但我担心学生会来这里,即使他们很好地描述了问题,他们仍然会得到你教授的答案
不允许您使用标准库是不好的。不管怎么说,我认为我们应该把讨论的内容减少到评论部分。谢谢你的回答!关于你的评论——在不限制图书馆使用的情况下,很难想出好的和短的作业任务来训练某种技能。您是否认为实现一个自己的LinkedList的任务是一个糟糕的任务,因为已经存在一个实现?好奇地问,因为我大体上同意这种关于教学编程的说法,并且想从中收集更多的资料people@Fureeish不,我不认为这是个坏主意。事实上,尽管我在上面打了一针,但这是一个很好的任务。事实上,现在我脱下我的偏见帽子不,这样分配任务是有道理的。事实上,如果我是一名编码教授,一开始我可能会和初学的学生一起做。对人们来说,拥有编写基本任务代码的技能是件好事。我想jab的作用在于,在现实生活中,当有人已经为你编写了代码时,你不应该重新发明轮子。工作世界中的合作是学术界的作弊PI会接着说,如果我是教授,我会强调你最好在现实生活中使用图书馆。。。我完全同意,但我担心学生们会来这里,即使他们很好地描述了这个问题,他们仍然会认为你的教授不允许你使用标准图书馆是不好的。不管怎么说,我认为我们应该把讨论的内容减少到评论部分。谢谢你的回答!