Hallöchen,
ich möchte ein kleines Autocomplete-Programm erstellen, hänge jetzt aber total beim Vergleichen meiner gespeicherten Wörter in einem RingBuffer und der Eingabe. Theoretisch hab ich mir das so vorgestellt, dass ich den ersten Buchstaben abgleiche, bei einem true diese Wörter in einem neuen Array abspeichere und das erste gefunde Wort anzeige. Danach wird im neuem Array der zweite Buchstabe abgegleichen usw. Leider komme ich dabei völlig durcheinander, weil ich zwar das erste anzeigen will, aber trotzdem weiter mit meiner Schleife die Wörter hinzufügen will
ich möchte ein kleines Autocomplete-Programm erstellen, hänge jetzt aber total beim Vergleichen meiner gespeicherten Wörter in einem RingBuffer und der Eingabe. Theoretisch hab ich mir das so vorgestellt, dass ich den ersten Buchstaben abgleiche, bei einem true diese Wörter in einem neuen Array abspeichere und das erste gefunde Wort anzeige. Danach wird im neuem Array der zweite Buchstabe abgegleichen usw. Leider komme ich dabei völlig durcheinander, weil ich zwar das erste anzeigen will, aber trotzdem weiter mit meiner Schleife die Wörter hinzufügen will
Code:
public void keyPressed(KeyEvent ke) {
String checkArray1[] = new String[1000];
boolean check = true;
if(ke.getKeyCode() == KeyEvent.VK_ENTER) {
buffer.enqueue(f.getText());
f.setText("");
}
if (ke.getKeyCode() != KeyEvent.VK_ENTER && ke.getKeyCode() != KeyEvent.VK_BACK_SPACE) {
save = f.getText();
for (int j = 0; j < 1001; j++) {
if (save.charAt(0) == buffer.w[j].charAt(0)) {
checkArray1[j] = (String)buffer.w[j];
}
}
while (check) {
for (int i = 0; i < 1001; i++) {
if (checkArray1[i] != "") {
f.setText(checkArray1[i]);
check = false;
}
else { f.setText(save); }
}
}
for (int j = 0; j < 1001; j++) {
if (save.charAt(1) == buffer.w[j].charAt(1)) {
checkArray1[j] = buffer.w[j];
}
}
}
}