私は3人のarraylistsを持っています。 2つは、キャンバス上の点の座標を保持します(xCoord、yCoord)。これはdot to dotプログラムです。 3番目のarraylistは、結果として得られる画像の最低の「ダメージ」または傷害を伴うキャンバスからどのドットを除去できるかを計算するコードを保持しています。これは、「クリティカルな値」を返す単純なアルゴリズムに基づいています。より小さい臨界値を有するドットは、臨界値が高いドットよりも画像を傷つけない。別のArrayListに基づいてArrayListの要素を削除します
私の問題は、最小の臨界値に基づいてxとyのarraylistsからn個のドットを削除することです。私はユーザー入力用のコードを既に実装しています。
public void removeDots(int numberDesired){
int i = 0;
for (i =0; i<numberDesired; i++){
xCoord.remove(critDots.get(i); //No idea, just trying random things.
yCoord.remove(critDots.get(i);
}
}
for (i = 0; i < xCoord.size()-1; i++) {
critValue = Algorithm Calculations
critDots.add(critValue);
}
私が最も重要に少なくともから重要整理する
Collections.sort(critDots)
を使用して考えてきましたが、私はこれが私のxCoord/YCOORDのためにどのように影響するかがわからないんです。
私が正しい方向に向かう手助けをするちょっとしたヒントをいただければ幸いです。 また、xCoord、yCoord、およびcritDotsはすべてarraylistsです。
'第3のarraylistは、キャンバスからどのドットを取り除くことができるかを計算するコードを保持しています.''によって' x'と 'y'座標のペアを削除しますか? –
はいいいえ – Fed148
コードの一部を説明する代わりに、完全な[mcve]を指定してください。質問は、例えば、あなたはそれらのリストにどのような種類のオブジェクトを格納していますか?私が推測するように、誤って(または逆の方法で)メソッドを削除(インデックス)する代わりにremove(オブジェクト)を呼び出すことが多分あります。これはIntegerオブジェクトにint値を自動的にボクシングするために発生します。実際、そういう場合が最も多いでしょう。 – GhostCat