我需要一些帮助。我目前正在编写关于多态的程序,这是我作业的规定。我愿意就如何做到这一点提供建议。类型从int到ArrayList不匹配
规定性作业的: 编写从使用下面的头整数的数组列表中删除重复的元素的方法:
公共静态无效removeDuplicate(ArrayList的列表)
写测试程序提示用户输入10个整数到一个列表并显示由一个空格分隔的不同整数。下面是一个样品运行:
输入10点的整数:10 20 30 20 20 30 50 60 100 9
的不同的整数为:[10,20,30,50,60,100,9]
这是到目前为止我的代码:
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayInput extends ArrayList{
public static int a[];
public static int[] inputArrays(int a[]) {
for(int i = 0; i < 10; i++) {
Scanner input = new Scanner(System.in);
a[i] = input.nextInt();
}
return a;
}
public static void removeDuplicate(ArrayList list) {
for(int i = 0; i < 10; i++) {
if(a[i] != a[i--]) {
list = a[i];
}
}
}
}
每次'if'条件成功时,您都将arraylist重新分配给int元素。相反,将该元素“添加”到数组列表。 – Ray
https://stackoverflow.com/questions/8452672/java-howto-arraylist-push-pop-shift-and-unshift – Ray
最好的办法是在您阅读时检查重复项。要检查未排序列表中的重复内容,您必须查看整个列表,您拥有的代码只会删除相邻的重复项。另一个错误是,你将我初始化为0,然后检查i--,所以你要走出界限,同时改变我,让它循环永不终止 – Mitchel0022