Ich versuche, ein 1D-Array in ein 2D-Array ([5] [5]) ohne doppelte Zeichen zu konvertieren. Ich kann nicht scheinen, dass es konsistent ist, manchmal funktioniert es und manchmal nicht.Konvertieren von 1D-Array in 2D-Array ohne Duplikate
Input: billys
Output: [[b, i, l, y,], [,,], [,,], [,,], [,,, ]]
Offensichtlich die 's' fehlt, aber hat eine der ‚L's
Eingabe korrekt entfernt: billysb
output: [[b, i, l, y, s], [, ,,,], [,,,,], [,,,,], [,,,,]]
Wieder korrekt entfernt die doppelten Buchstaben.
Input: billysabc
Ausgang: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
Input: bbbbbbb
Ouput: [[b, b, b,,], [,,,,], [,,,,], [,,,,]]
Einige, aber nicht alle Duplikate entfernen.
hier ist der Code, die Umwandlung für mich tun:
char[][] playFairGrid = new char[5][5];
//write keyword to array
char[] keywordBreakdown = keyword.toCharArray();
//write keyword to grid
for(int i =0; i<5;i++){
for(int j=0;j<5;j++){
if (count==keywordBreakdown.length-1) break;
//check for duplicates
for(int m =0; m<5;m++){
for(int l=0;l<5;l++){
if (keywordBreakdown[count]==playFairGrid[m][l]){
count++;
}
}
}
playFairGrid[i][j]=keywordBreakdown[count];
count++;
}
}
System.out.println(Arrays.deepToString(playFairGrid));
alle sehr zu schätzen helfen! das ist seit ein paar Stunden ein Schmerz.
können Sie leicht Duplikate entfernen, indem alle Zeichen auf eine 'Set' –
@ClarkKent Hinzufügen bitte –
„Die Schnittstelle java.util.Set extrapolieren ist ein Subtyp der java.util.Collection-Schnittstelle und stellt eine Menge von Objekten dar, dh jedes Element kann nur einmal in einem Set existieren. http://tutorials.jenkov.com/java-collections/set.html –