1 回答
TA贡献1868条经验 获得超4个赞
它向我显示未使用变量 c 的错误
这应该是一个警告。因此,即使显示此代码,代码仍应正确运行。
此方法应返回 int 的值
这是一个编译错误,因为您没有int在方法末尾返回任何数组,所以您的方法的返回类型应该是void. 你应该改变你的方法签名如下,
public static void c(int[] list)
int否则,您将需要在方法结束时返回一个数组。
修复代码后,
public class Duplicates {
public static void main(String[] args) {
int[] list = new int[]{1, 4, 2, 6, 7, 5, 1, 2};
int temp;
for (int i = 0; i < list.length; ++i) {
for (int j = 1; j < (list.length - i); ++j) {
if (list[j - 1] > list[j]) {
temp = list[j - 1];
list[j - 1] = list[j];
list[j] = temp;
}
}
}
int n = 0, counter = 0;
int previous = -1;
for (int i = 0; i < list.length; ++i) {
if (list[i] == previous) {
++n;
if (n == 1) {
++counter;
if (counter == 1) {
System.out.print(list[i]);
} else {
System.out.print(", " + list[i]);
}
}
} else {
previous = list[i];
n = 0;
}
}
System.out.println("\nNumber of Duplicated Numbers in array: " + counter);
}
}
添加回答
举报