2017-09-11 6 views
0

私は助けが必要です。私は現在、多型についてプログラミングしています。ここでは宿題に関する規定があります。私はそれを行う方法について助言を喜んで受けています。タイプがintからArrayListに一致しません

宿題の規定: は、次のヘッダーを使用して整数の配列リストから重複要素を削除する方法を書く

パブリック静的ボイドremoveDuplicate(ArrayListのリスト)

テストを書きますプログラムは、ユーザーにリストに10個の整数を入力させ、正確に1つのスペースで区切られた別個の整数を表示します。ここで、サンプルランは:異なる整数である10 20 30 20 20 30 50 60 100 9

:[10、20、30、50、60、100、9]

は10個の整数を入力してくださいここで

私のコードは、これまでのところです:

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]; 
     } 
    } 

} 

} 
+0

'if'条件が成功するたびにarraylistをint要素に再割り当てします。代わりに、要素をarraylistに「追加」します。 – Ray

+0

https://stackoverflow.com/questions/8452672/java-howto-arraylist-push-pop-shift-and-unshift – Ray

+1

あなたがそれらを読んでいるときに重複を確認するのが最善のことです。並べ替えられていないリスト内の重複をチェックするには、リスト全体を調べなければなりません。もう1つのバグは、iを0に初期化してからi--をチェックすることです。境界を越えて同時に変更するので、ループが終了しないようにします。 – Mitchel0022

答えて

0

あなたが変換またはキャストintの配列をArrayListにいますが、リストに要素を追加したい場合は、あなたがこのような何かできることはできません。

public static void removeDuplicate(ArrayList list) { 
    for(int i = 0; i < 10; i++) { 
     if(a[i] != a[i--]) { 
      //change code here 
      list.add(a[i]); 
     } 
    } 
} 
0
list = a[i]; 

私はこれがあなたの問題がどこにあるか、あなたはのArrayListint型値を代入しようとしていると思います。

関連する問題