编辑问题以包括所需的行为、特定问题或错误,以及再现问题所需的最短代码。这将帮助其他人回答这个问题。
我的任务是用java编写mergesort,任务还规定我不能使用整数,我必须使用可比较的整数。这是我第一次使用java。我的问题是在合并函数内比较两个comp int数组中的元素。我尝试了if(list[I])compareTo(list2[j]),但compareTo只能取整数。任何帮助都将不胜感激
public static Comparable<Integer>[] merge(Comparable<Integer> list[], Comparable<Integer> list2[] ) {
Comparable<Integer> C[];
int i = 0; int j = 0; int k = 0;
while (i < list.length && j < list2.length) {
if (list[i] < list2[j]]) {
C[k] = list[i];
i++; k++;
} else {
C[k] = list2[j];
j++; k++;
}
}
while (i < list.length) {
C[k++] = list[i++];
}
while (j < list2.length) {
C[k++] = list2[j++];
}
return C;
}
这是你应该做的。
public static Integer [] merge(Integer[] list, Integer[]list2 ) {
Integer[] C = new Integer[list.length + list2.length];
int i = 0; int j = 0; int k = 0;
while (i < list.length && j < list2.length) {
if (list[i].compareTo(list2[j]) < 0) {
C[k] = list[i];
i++; k++;
} else {
C[k] = list2[j];
j++; k++;
}
}
while (i < list.length) {
C[k++] = list[i++];
}
while (j < list2.length) {
C[k++] = list2[j++];
}
return C;
}
您应该使用可比较的
list[i]。比较到(列表2[j]
其他一切都没有意义。特别是通过两个可比较的
数组
你想要的就是整数。它是可比的
代码中您编写可比的每个地方
我的任务是用java编写mergesort,任务还规定我不能使用整数,我必须使用可比较的整数。这是我第一次使用java。我的问题是在合并函数内比较两个comp int数组中的元素。我尝试了if(list[I])compareTo(list2[j]),但compareTo只能取整数。任何帮助都将不胜感激
问题内容: 在Java中工作,假设我有两个对象,这要归功于,我知道它们都是数组。进一步说,我想将这两个数组相互比较- 可能使用。有没有一种优雅的方法可以做到这一点,而无需借助详尽的if / else树来弄清楚需要使用哪种口味?我正在寻找比这更令人讨厌的东西: 问题答案: 您可以使用反射。 反射仅用于在运行时找到正确的方法,而不会引起您的回避。实际方法应该运行得很快。 显然,生产版本需要更强大的异常
数组相等的条件不仅要求数组元素的个数必须相等,而且要求对应位置的元素也相等。Arrays 类提供了 equals() 方法比较整个数组。语法如下: 其中,arrayA 是用于比较的第一个数组,arrayB 是用于比较的第二个数组。 例 1 下面代码演示 Arrays 类的 equals() 方法的使用。 上述代码中定义 3 个数组,分别为 score1、score2 和 score3。第一个数组直
问题内容: Comparable和Comparator之间的主要区别是什么。 在什么情况下,哪个比另一个优先? 问题答案: 当你的类实现时,该类的方法将定义该对象的“自然”顺序。根据合同,该方法有义务(尽管不要求)与该对象上的其他方法保持一致,例如,当比较返回true 时,应始终为对象返回0 。 一个比较本身就是如何比较两个对象的定义,可用于可能不与自然顺序排列的方式来比较的对象。 例如,字符串通
问题内容: 为什么m和t都是假的?比较Java中2个数组的正确方法是什么? 问题答案: 使用Arrays.equals方法。例:
问题内容: 由于我不是Android开发中的佼佼者,因此我尝试了一些对自己和朋友的手机都有效的方法,但是我从市场上收到一些报告,认为它可能不适用于所有设备,并且做错了比较。无论如何。该项目很简单,它从sql获取命令,然后在游戏中玩家尝试完成该命令。所以我有2个数组。我一开始就这样称呼它: 在游戏过程中,如果玩家单击按钮,它将更改combo的值,例如combo [7] =“ 1”; 当他单击最后一个