Java 如何打印数组

Java 如何打印数组,java,arrays,Java,Arrays,我是Java编程的新手。在以下情况下,我无法理解为什么不能通过此行打印数组: System.out.print(arr()); 我得到的不是所有的结果,而是:[D@60e1e567" 我做错了什么 public class test { public static void main(String[] args) { System.out.print(arr()); } public static double[] arr() { d

我是Java编程的新手。在以下情况下,我无法理解为什么不能通过此行打印数组:

System.out.print(arr());
我得到的不是所有的结果,而是:[D@60e1e567"

我做错了什么

public class test {

    public static void main(String[] args) {
        System.out.print(arr());
    }

    public static double[] arr() {
        double res;

        int count=0;
        double[] anArray = new double[100000000];


        int k=0;
        for (int j=2;j<101;j++){
            for(int i=2; i<101;i++) {
                res=Math.pow(j,i);
                anArray[k]=res;
                k++;
            }
        }

        return anArray;         
    }
}
公共类测试{
公共静态void main(字符串[]args){
系统输出打印(arr());
}
公共静态双[]arr(){
双res;
整数计数=0;
double[]anArray=新的double[100000000];
int k=0;

对于(int j=2;j您不能这样打印数组

使用以下命令:

System.out.print(Arrays.toString(arr()));
为了做到这一点,您还应该添加

import java.util.Arrays;
在文件的开头


此外,您的数组太大。
100000000
double可能无法放入数组中。您可能需要更改数据结构或限制大小。否则您可能会遇到
java.lang.OutOfMemoryError:java堆空间

您不能这样打印数组

System.out.println(Arrays.toString(arr()));
使用以下命令:

System.out.print(Arrays.toString(arr()));
为了做到这一点,您还应该添加

import java.util.Arrays;
在文件的开头

此外,您的数组太大。
100000000
double可能无法放入数组中。您可能需要更改数据结构或限制大小。否则您可能会遇到
java.lang.OutOfMemoryError:java堆空间

System.out.println(Arrays.toString(arr()));
返回指定数组内容的字符串表示形式。字符串表示形式由数组元素列表组成,用方括号(“[]”)括起来。相邻元素之间用字符“,”(逗号后跟空格)分隔。元素按string.valueOf(double)转换为字符串。返回“null”如果数组为空


返回指定数组内容的字符串表示形式。字符串表示形式由数组元素列表组成,用方括号(“[]”)括起来。相邻元素之间用字符“,”(逗号后跟空格)分隔。元素按string.valueOf(double)转换为字符串。返回“null”如果数组为空。

您没有做错什么。默认情况下,数组不实现nice toString()。打印可读输出的最佳方法是使用
Arrays.asList(arr())
您没有做错什么。默认情况下,数组不实现nice toString()。打印可读输出的最佳方法是使用
Arrays.asList(arr())

您可以遍历数组以查看其值,或者调用Collections便利方法,该方法的作用大致相同:
Arrays.toString(arr())


您可以遍历数组以查看其值,或者调用Collections便利方法,该方法的作用大致相同:
Arrays.toString(arr())


不能直接打印数组。 你需要像这样的东西:

double[] array=arr();

for(double x: array)
   System.out.print(x+" ");

不能直接打印数组。 你需要像这样的东西:

double[] array=arr();

for(double x: array)
   System.out.print(x+" ");

不要打印整个阵列,而应在其中打印每个元素:

double[] resultAry =arr();
for(int i=0; i< resultAry.length; i++ ){
System.out.println(resultAry[i]);
}
double[]resultAry=arr();
for(int i=0;i
不应打印整个阵列,而应在其中打印每个元素:

double[] resultAry =arr();
for(int i=0; i< resultAry.length; i++ ){
System.out.println(resultAry[i]);
}
double[]resultAry=arr();
for(int i=0;i
因为不能仅使用
System.out.println()打印数组
。请注意,java有自己的编码风格。您的类应该以大写字母开头。@qben,java中没有规定您的类名应该以大写字母开头,它可能是小的,也可能是小的capital@Swarnendu请参阅java命名约定。命名约定当然不是规则,而是约定。这就是为什么不需要命名yo的原因您的类名称以大写字母开头…用户user1813163是一个新手,所以请不要混淆他…因为您不能仅使用
System.out.println()打印数组
。请注意,java有自己的编码风格。您的类应该以大写字母开头。@qben,java中没有规定您的类名应该以大写字母开头,它可能是小的,也可能是小的capital@Swarnendu请参阅java命名约定。命名约定当然不是规则,而是约定。这就是为什么不需要命名yo的原因ur类的名称以大写字母开头…用户user1813163是一个新手,所以请不要混淆他…嗯,编译器说:线程“main”java.lang.OutOfMemoryError中的异常:java.util.Arrays.copyOf中的java堆空间(未知源代码)@user1813163这不是因为您试图打印数组。该错误是由于heap space.hm引起的,编译器说:线程“main”java.lang.OutOfMemoryError中的异常:java.util.Arrays.copyOf处的java堆空间(未知源代码)@user1813163这不是因为您试图打印数组。错误是由于堆空间。user000001 hm,编译器说:线程“main”java.lang.OutOfMemoryError中的异常:java.util.Arrays.copyOf处的java堆空间(未知源)你真的需要这么多的元素吗?为什么不使用一个
ArrayList
来代替呢?它会动态地改变它的大小…是的,我会使用独特的方式来获得所有可能的数字的列表。不确定你的组合是否适合主内存。如果它们适合,你可以增加堆空间。这是一个教程。如果它们不适合,那么你将可能必须将数据存储在一个文件中。但我认为这超出了这个问题的范围。也许你应该问一个新的问题,如果这些方法不适用于youuser000001 hm,编译器说:线程“main”java.lang.OutOfMemoryError中的异常:java.util.Arrays.copyOf中的java堆空间(未知源)你真的需要这么多的元素吗?为什么不使用一个
ArrayList
来代替呢?它会动态地改变它的大小…是的,我会使用独特的方式来获得所有可能的数字的列表。不确定你的组合是否适合主内存。如果它们适合,你可以增加堆空间。这是一个教程。如果它们不适合,那么你将很可能必须将数据存储在一个文件中。但我认为这是不可能的