こんにちは、次のコード行があります
solution first = mylist.remove((int)(Math.random() * mylist));
これは私に次のようなエラーを与えます
The operator * is undefined for the argument type(s) double, ArrayList<solution>
arrayListの乱数をArrayListから削除しようとしています
どんな助けでも適用されるでしょう。
こんにちは、次のコード行があります
solution first = mylist.remove((int)(Math.random() * mylist));
これは私に次のようなエラーを与えます
The operator * is undefined for the argument type(s) double, ArrayList<solution>
arrayListの乱数をArrayListから削除しようとしています
どんな助けでも適用されるでしょう。
リストからランダムな要素を削除しようとしているようです。すべての要素をランダム インデックスでカバーするには、リスト サイズが必要です。
数値に を掛けても意味がありませんArrayList
。コードでリストだけを直接指定しても、リストのサイズを取得することはできません。size()
リストのメソッドを呼び出します。int
これは、乗算可能なan を返します。
リストサイズの範囲内で乱数を見つける必要があります
final Random random = new Random();
mylist.remove(random.nextInt(myList.size()));
を作成しRandom
て保存してください。そうしないと、同じ数が繰り返し作成される可能性があります (疑似乱数にすぎません)。
また、nextInt
メソッドは上限を除外するためmylist.size()
、無効なインデックスは返されません。