Hallo,
als erstes, bitte verzeiht mein Deutsch, als zweites mein Java
Ich wollte ganz gerne ein "recursive function" bauen um ein Zahl zu generieren, nach zu schauen ob dieses Zahl bereits in ein Array vorhanden ist, falls nein, füge die hinzu, falls nicht rufe meine Method erneut auf. Leider weiss ich nicht wie ich es anstelle.
[highlight=Java]
import java.util.Arrays;
public class generateNumbers {
private static int[] lotteryNumbers;
public static void main(String[] args) {
lotteryNumbers = new int[6];
for(int i=0; i<6; i++){
//Random number
int tmp = generateNumber();
//assign it to the array
lotteryNumbers= tmp;
}
}
//Hier kommen die Probleme
private static int generateNumber(){
//Generiere ein zufällige Zahl
double tmpDouble = Math.round(Math.random()*8);
//Konvertiere es in ein int
int tmp = (int)tmpDouble;
//Schaue ob die Zahl bereits vorhanden ist
int index = Arrays.binarySearch(lotteryNumbers, tmp);
//Rufe die gleich funktion erneut auf
if(index<0){
generateNumber();
}else{
//Falls vorhanden gib diesen Wert zurück.
return tmp;
}
}
}[/highlight]
Kann mir wer weiterhelfen?
Danke und Grüße aus HH
-Taff
als erstes, bitte verzeiht mein Deutsch, als zweites mein Java
Ich wollte ganz gerne ein "recursive function" bauen um ein Zahl zu generieren, nach zu schauen ob dieses Zahl bereits in ein Array vorhanden ist, falls nein, füge die hinzu, falls nicht rufe meine Method erneut auf. Leider weiss ich nicht wie ich es anstelle.
[highlight=Java]
import java.util.Arrays;
public class generateNumbers {
private static int[] lotteryNumbers;
public static void main(String[] args) {
lotteryNumbers = new int[6];
for(int i=0; i<6; i++){
//Random number
int tmp = generateNumber();
//assign it to the array
lotteryNumbers= tmp;
}
}
//Hier kommen die Probleme
private static int generateNumber(){
//Generiere ein zufällige Zahl
double tmpDouble = Math.round(Math.random()*8);
//Konvertiere es in ein int
int tmp = (int)tmpDouble;
//Schaue ob die Zahl bereits vorhanden ist
int index = Arrays.binarySearch(lotteryNumbers, tmp);
//Rufe die gleich funktion erneut auf
if(index<0){
generateNumber();
}else{
//Falls vorhanden gib diesen Wert zurück.
return tmp;
}
}
}[/highlight]
Kann mir wer weiterhelfen?
Danke und Grüße aus HH
-Taff