Pracuję nad moją pierwszą aplikacją na Androida, grą matematyczną dla mojego dziecka i uczę się w tym procesie Java. Mam dwie: ArrayList
s, jedną z liczb całkowitych 0..9
i jedną ciągiem możliwych operacji, obecnie tylko +
i -
.Przekazywanie tablicy ArrayList dowolnego typu do metody
Chciałbym napisać metodę, która zwraca losowy indeks do ArrayList
, więc mogę wybrać losowy element. Rozumiem, że potrzebuję dwóch metod, po jednej dla każdego typu ArrayList
, mimo że kod jest identyczny. Czy jest sposób na zrobienie tego w jednej metodzie?
Co używam teraz:
Random randomGenerator = new Random();
. . .
n = randomIndexInt(possibleOperands);
int op1 = possibleOperands.get(n);
n = randomIndexInt(possibleOperands);
int op2 = possibleOperands.get(n);
n = randomIndexStr(possibleOperations);
String operation = possibleOperations.get(n);
. . .
int randomIndexInt(ArrayList<Integer> a){
int n = randomGenerator.nextInt(a.size());
return n;
}
int randomIndexStr(ArrayList<String> a){
int n = randomGenerator.nextInt(a.size());
return n;
}
Co chciałbym zrobić, to upadek randomIndexInt
i randomIndexStr
w jeden sposób.
Możesz napisać metodę, która przyjmie A (typu 'int') jako argument i zwróci dowolną liczbę losową pomiędzy 0 i A i wywoła tę metodę, przekazując twoje rozmiary listy tablic. –
Pamiętaj, aby zaakceptować odpowiedź, a może +1, jeśli lubisz też kogoś innego :) –
+1 za kodowanie gry matematycznej dla Twojego dziecka. – irrelephant