2012-10-16 29 views
2

所以我尝试打印的int数组在我的计划,并按照下列指示What's the simplest way to print a Java array?的Java打印具有Arrays.toString()错误

写了下面的代码的数组:

int[] totals = //method that returns int array 
    System.out.println(Arrays.toString(totals)); 

但它不会编译说

“类Object toString方法不能被应用到给定的类型的 要求:没有参数 发现:INT [] 原因:实际和正式参数列表长度不同“

它为什么这样做?我不把我的数组作为参数传递给toString吗?如果不是,我如何使用toString?

谢谢!

+0

看起来不错。测试一个像这样的数组:'int [] totals = {1,2,3,4};' – pb2q

+0

你会得到任何其他编译器错误或警告? – jalynn2

+0

不,我没有收到任何其他错误。但是这两个答案帮助我解决了问题。我的主类被命名为Arrays(neubie错误),所以当我编写Arrays.toString(总计)时,它被混淆了。感谢您的反馈! –

回答

11

toString方法不能适用于给定类型。要求:未发现参数:INT []原因:实际的和正式的参数列表长度

不同可能是你有一个名为Arrays变量,这就是为什么编译器抱怨,你是在试图调用Object.toString()思维,这并没有任何争论。

尝试

System.out.println(java.util.Arrays.toString(totals)); 
+0

Downvoter!你能评论一下为什么downvote? –

+0

也许你有一个名为Arrays的变量?共同!我的回答是downvoter为更少:) –

+0

正如我刚刚评论上面我称这个程序数组的类,所以这可能是它。感谢您的反馈意见! –

-1

你为什么不尝试::

int[] totals = //method that returns int array 
    System.out.println(totals.toString()); 
+3

数组上的'toString()'不会做任何有用的事情:它只是打印数组的引用。 OP希望使用'Arrays'类来打印每个值。 – pb2q

+0

如果您尝试使用阵列:它将打印逗号分隔的数据 –

+0

它不会。试了足够多的时间才知道。你是否? – pb2q

1

,它说的事实“类Object toString方法不能适用于给定的类型。”让我觉得你可能不会正确导入java.util.Arrays类,或者你有其他一些对象叫做Arrays

+0

或者更确切地说:他有一个_variable_名为'Arrays':'Object Arrays = null' – pb2q

+0

是的;澄清。 – Omaha

+0

我给这个程序数组调用了这个类。那一定是这样,所以我会重新命名这个班级。谢谢! –

-1

你的方法似乎并不初始化您的数组,试试这个:类对象

int[] totals = new int[10]; //method that returns int array 
System.out.println(Arrays.toString(totals)); 
+0

如果数组尚未初始化,我不会期望参数异常。 – Edd

1

这个工作对我来说:

int[] totals = {1,2}; 
System.out.println(Arrays.toString(totals)); 

印刷:

[1, 2] 

你确定你使用至少JDK 5

确实,Arrays.toString(int[] a)只存在自JDK 5以来。