在Java中消除数组中的重复项
编写一个方法,通过使用以下标头消除数组中的重复值来返回新数组:在Java中消除数组中的重复项,java,arrays,Java,Arrays,编写一个方法,通过使用以下标头消除数组中的重复值来返回新数组: public static int[] eliminateDuplicates (int[] list) 到目前为止,我只有main,但我想对另一个方法做的是使用for循环检查数组中每个空格的值,如果它们不等于任何其他条目,则打印它们。就在我们说话的时候! 我的输出是:不同的数字是:[I@4554617c 首先,这是11个字符,最多我应该打印10个字符 import java.util.Scanner; public class
public static int[] eliminateDuplicates (int[] list)
到目前为止,我只有main,但我想对另一个方法做的是使用for循环检查数组中每个空格的值,如果它们不等于任何其他条目,则打印它们。就在我们说话的时候!
我的输出是:不同的数字是:[I@4554617c 首先,这是11个字符,最多我应该打印10个字符
import java.util.Scanner;
public class EliminateDuplicates
{
public static void main(String [] Args)
{
Scanner input = new Scanner(System.in);
System.out.println("Please enter ten whole numbers: ");
int[] tenNumbers = new int[10];
for (int i=0; i<10; i++)
{
tenNumbers[i] = input.nextInt();
}
System.out.println("The distinct numbers are: " + eliminateDuplicates(tenNumbers));
}
public static int[] eliminateDuplicates (int[] list)
{
int count = 0;
for (int i = 0; i > list.length; i++)
{
for (int j = i + 1; j < list.length; j++)
{
if(list[i] == list[j])
{
list[j] = -1;
}
}
}
for (int i = 0; i < list.length; i++)
{
if(list[i] != -1)
{
count++;
}
}
int[] array2 = new int[count];
int newCount = 0;
for (int i = 0; i < list.length; i++)
{
if(list[i] != -1)
{
array2[newCount] = list[i];
}
}
return array2;
}
}
不同的数字是:[I@4554617c它们非常不同,不是偶数!System.out.println不同的数字是:+EliminatedReplicateTestenNumbers;打印对int数组的引用。您要打印数组的内容。如果要通过println输出数组,则应使用System.out.printlnArrays.toStringyourArray并导入java.util.Arrays。显然它们不是,这就是我在这里发布的原因…您可能只需要array2[newCount++]=list[i];注意++请花一些时间解释您的代码示例以及它如何解决问题。
import java.util.*;
public class Question {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int[] arr = {1,2,3,3,4,5,6,1};
int[] ne = new int[arr.length];
ArrayList<Integer> already= new ArrayList();
int i = 0;
while(i<arr.length){
if(!already.contains(arr[i]))
already.add(arr[i]);
i++;
}
System.out.println(already.toString());
}
}
import java.util.ArrayList;
public class EliminateDuplicates {
//This is called Generics, It'll be a little later in your studies
public static <E> ArrayList<E> eliminateDuplicates(ArrayList<E> list) {
ArrayList<E> newList = new ArrayList<>(list.size());
for (E aList : list) { // for (int i = 0; i <= list.lenght; i++){
if (!newList.contains(aList)) {
newList.add(aList);
}
}
return newList;
}
public static void main(String[] args) {
ArrayList<Integer> tenNumbers = new ArrayList<Integer>();
tenNumbers.add(14);
tenNumbers.add(24);
tenNumbers.add(14);
tenNumbers.add(42);
tenNumbers.add(25);
tenNumbers.add(24);
tenNumbers.add(14);
tenNumbers.add(42);
tenNumbers.add(25);
tenNumbers.add(24);
ArrayList<Integer> newList = eliminateDuplicates(tenNumbers);
System.out.print("The distinct numbers are: " + newList);
}
}