【发布时间】:2020-04-30 00:58:22
【问题描述】:
程序计算最大数的频率,但将数组转换为列表给出 list=[I@7852e922 而不是它应该实际返回的内容。
static int birthdayCakeCandles(int[] ar) {
Arrays.sort(ar);
for(int i=0;i<ar.length;i++)
{
System.out.print(ar[i]);
}
int max=ar[ar.length-1];
System.out.println("\n"+max);
List list = Arrays.asList(ar);
for(int i=0;i<list.size();i++)
{
System.out.println(list.get(i));
}
int sol=Collections.frequency(list,max);
return sol;
}
public static void main(String[] args) {
int arr[]={1,2,3,4,4,2};
int ans=birthdayCakeCandles(arr);
System.out.print(ans);
}
这给出的输出是:
122344
4
[I@7852e922
0
这是不正确的,因为数组到列表的转换没有以正确的方式进行。
【问题讨论】:
-
这能回答你的问题吗? Print ArrayList
-
“不工作”,你能更具体一点吗?
-
如果您希望 Arrays.asList 生成整数列表(而不是 int[] 列表),请将
int arr[]更改为Integer arr[] -
@gauravgupta 如果你得到答案,请接受答案:meta.stackexchange.com/questions/5234/…