Hallo an alle!
Ich stehe momentan vor einem Problem, bei dem jedes weitere Troubleshooting (und was ich schon nach bestem Willen erledigt habe) mich nicht weiter bringt..
Im folgenden Code soll ein Integer-Array mit Werten befüllt werden. Es sollen aber keine Duplikate vorkommen. Von meiner "Logik" her bin ich ziemlich nah drann. Allerdings kommen momentan immer noch doppelte Werte vor.
Für jeden Tipp/Hinweis bin ich unendlich dankbar!
Beste Grüße an alle!
Ich stehe momentan vor einem Problem, bei dem jedes weitere Troubleshooting (und was ich schon nach bestem Willen erledigt habe) mich nicht weiter bringt..
Im folgenden Code soll ein Integer-Array mit Werten befüllt werden. Es sollen aber keine Duplikate vorkommen. Von meiner "Logik" her bin ich ziemlich nah drann. Allerdings kommen momentan immer noch doppelte Werte vor.
Java:
package _0xDEADBEEF;
import java.util.*;
public class _0xDEADC0DE {
public static int[] iArr = new int[7];
public static boolean contains(int iTarget){
for(int i = 0; i < iArr.length; i++){
if(iArr[i] == iTarget){
return true;
/* Changed it to false instead of break */
} else {
return false;
}
}
return false;
}
public static void main(String[] args) {
for(int i = 0; i < iArr.length; i++){
int iValue = (int)(10 * Math.random());
/*iArr[i] = iValue;*/
/* Check if the value is already stored inside of the array */
while(contains(iValue)){
/*iArr[i] = (int)(10 * Math.random());
iValue = iArr[i];*/
System.out.println(iValue + " is already stored.");
/* Change the value to prevent an infinite loop */
iValue = (int) (10 * Math.random());
}
if(contains(iValue) == false){
iArr[i] = iValue;
}
}
System.out.println("Done.");
for(int k = 0; k < iArr.length; k++){
System.out.println(k + ". Element: " + iArr[k]);
}
}
}
Für jeden Tipp/Hinweis bin ich unendlich dankbar!
Beste Grüße an alle!