我需要一些幫助。我目前正在編寫關於多態的程序,這是我作業的規定。我願意就如何做到這一點提供建議。類型從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