java如何比较两个双类型2D数组?
我的任务是编写一个程序来制作测量图表(用math.random
生成)。这一部分已经完成,所有功能都正常,但下一步是指出最大值在哪个列中
我开始制作一个新的2d数组,它与第一个数组完全相同,然后使用Arrays.sort
对它进行排序,所以我知道哪个值最高
然后我尝试编写代码,将第一个数组中的所有值与我得到的最大值进行比较。 (我使用了for循环,因此当值匹配时,我会知道最高值的位置) 但这不起作用
这就是问题的症结所在:
"Exception in thread "main" java.lang.ClassCastException: class [D cannot be cast to class java.lang.Comparable ([D and java.lang.Comparable are in module java.base of loader 'bootstrap') at java.base/java.util.ComparableTimSort.countRunAndMakeAscending(ComparableTimSort.java:320) at java.base/java.util.ComparableTimSort.sort(ComparableTimSort.java:188) at java.base/java.util.Arrays.sort(Arrays.java:1040)"
我非常乐意接受所有我能得到的建议和帮助!如果你需要我展示我写的代码,请告诉我
否则,祝你有美好的一天
编辑: 这是我为最后一部分编写的代码
java.util.Arrays.sort(peak);
double peak2 = peak[x][y];
//Testing for highest value
for (int i = 0; i < x; i++)
{
for (int k = 0; k < y; k++)
{
double value2 = value[k][i];
if (value2 == peak2)
{
System.out.println("The highest value: " + peak2 + "is in cell " + i + ", " + k);
}
}
}
# 1 楼答案
不需要分类。只需遍历数组并找到最大值