Warum funktioniert meine CountRecur-Methode nicht? Ich habe versucht, es durchkämmen, aber keine Würfel. Ich weiß, dass es nicht so gut optimiert ist, aber ich habe alles versucht, und ich dachte mir, ich könnte es versuchen.Warum funktioniert meine CountRecur-Methode nicht, ich habe versucht, sie durchzukämmen, aber keine Würfel
Angenommen, StrArr1 ist bereits in alphabetischer Reihenfolge, und alle Zeichenfolgen darin sind Wörter, die mehr als einmal auftreten können, sie sind auch alle in Low Caps. Die Entfernung funktioniert gut, ich habe es getestet.
public void CountRecur() {
ArrayList <String> StrArr2 = new ArrayList <String>();
StrArr2 = StrArr1;
this.RemoveRecur(StrArr2);
int count = 0;
int j = 0;
for (int i = 0; i <= StrArr2.size(); i++) {
if (count != 0) {
IntArr.add(count);
}
count = 0;
if (i < StrArr2.size()) {
while (j < StrArr1.size() && StrArr2.get(i).equals(StrArr1.get(j))) {
count++;
j++;
}
}
}
}
public void RemoveRecur(ArrayList <String> StrArr3) {
int i = 1;
while (i < StrArr3.size()) {
if (StrArr3.get(i).equals(StrArr3.get(i - 1))) {
StrArr3.remove(i - 1);
i = 0;
}
i++;
}
}
1) Zuordnung StrArr2 = new Arraylist ist verschwenderisch und sinnlos, da in der nächsten Zeile Sie es StrArr1 zuweisen. Erklären Sie es einfach so: ArrayList StrArr2 = StrArr1; und überspringe den neuen ArrayList-Teil. 2) Es ist schwer, Ihrer CountRecur-Methode zu folgen, der Code ist ziemlich schlecht geschrieben und nicht einfach zu folgen. Was genau ist die Absicht der Methode und was ist Ihre genaue Frage einschließlich der Ergebnisse, die Sie bekommen und erwarten, zu bekommen? –
pczeus
Von dem, was ich von Ihrem Code sehen kann, versuchen Sie, doppelte Zeichenfolgen aus einer String-Liste zu entfernen und dann die Anzahl der gefundenen und entfernten Duplikate zu erfassen, ist das korrekt? Und wo ist der "Wiederholungsteil Ihres Codes"? – pczeus
Um zu zählen, wie oft eine Zeichenfolge in StrArr1 wiederholt wird. Ich weiß, dass ich in der Theorie nicht einmal strarr2 brauche, aber ich habe alles versucht und das hat mich ein wenig näher an eine Lösung gebracht. – Harsh