2016-12-04 15 views
-1

私はユーザーが配列内の要素を削除できるようにするためのメソッドを書いています。それが削除された後、私は間に空のギャップがないように配列を頼りにしたいと思います。配列を削除して内容を頼りにする

public void remove(int position) 
{ 
    if (position > currentCartSize) 
    { 
     System.out.println("Error! Nothing to remove."); 
    } 
    else if (isEmpty()) 
    { 
     System.out.println("Error! Cart is empty."); 
    } 
    else 
    { 
     cart[position - 1] = null; 
     currentCartSize--; 
    } 
    for (int i = 0; i < currentCartSize; i++) 
    { 
     for(int j = 1; j < i; j++) 
     { 
      cart[j] = cart[i]; 
     } 
    } 
} 
+0

質問は何ですか? – Einar

+1

なぜ 'List'の代わりに配列を使用していますか? – hotzst

+0

私はリストにはあまりよく慣れていません。 – Jake0991

答えて

2

代わりにarrayListオブジェクトを実装してください。ここでは、array.remove(int position)メソッドを直接使用できます。

"java.util.ArrayList.remove(int index)メソッドは、このリスト内の指定された位置にある要素を削除します。後続の要素を左にシフトします(インデックスから1を引く)。 お手伝い願います!

1

私は無地の老いた配列から値を削除するお勧めしません:

は、ここに私のコードです。私はArrayListを使用することをお勧めします、あなたはギャップがなくてもシームレスに要素を削除することができ、配列よりも簡単に作業できます。運が良ければ:)

+0

私はArrayListを実際に使ったことはありません。 – Jake0991

+0

は非常に単純です:削除するには、removeメソッドを使用するだけです。例えば、次のようなarraylistを宣言します:ArrayList a = new ArrayList (); a.add(1); a.add(2)などなどの値を追加します。次に、a.remove(1)のような特定の値を削除し、arraylistから値1を削除し、残されるのは2 – Aaron

+1

@ Jake0991です。それについて学ぶ時間です。各ジョブに最適なツールを使用する必要があります。アレイは間違いなく間違った解決策です。 –

関連する問題