So habe ich diese Methode (siehe unten). Es wird eine Eingabedatei durchsucht, die im Array gespeichert wurde, um alle Namen für alle zu finden, die eine übereinstimmende Teilzeichenfolge (nicht zwischen Groß- und Kleinschreibung) enthalten, die der Benutzer als Name in JTextField eingegeben hat. Diese Methode führt dies aus. Wenn es jedoch den Namen druckt, soll es auch seine beste Dekade (wie 1920) damit drucken. Ich habe ein ...Anzeige meines getRank in meinem JTextField
public int getRank(int decade) {
int decadeRank = rank[decade];
return decadeRank;
}
, die erhalten ist das Jahrzehnt Jahr, so rank [0] steht für 1900 und Rang [1] repräsentiert 1910.
public int bestDecade() {
int best = rank[0];
for(int i = 0; i < DECADES; i++)
if(rank[i] > best)
best = rank[i];
return best;
}
, die die beste Rangnummer für einen Namen bekommt bestimmte Dekade so wie 351. Jedoch kann ich nicht herausfinden, wie man die Rangdekade und nicht die Rangnummer anzeigt. Sie können unten sehen, was ich versucht habe, aber nicht funktioniert. Weiß jemand, wie ich den Rang erreichen kann?
private void match(String targetSubstring)
{
displayArea.setText("");
displayArea.append("FIND RESULTS for: " + targetSubstring);
displayArea.append("\n");
displayArea.append("\n Name Best Decade");
displayArea.append("\n--------------- ---------------");
targetSubstring = targetSubstring.toUpperCase();
for (int i = 0; i < namesArray.length; i++) {
String theName = namesArray[i].getName();
if (theName.toUpperCase().contains(targetSubstring))
{
int best = namesArray[i].bestDecade(); //this is what I've been trying
displayArea.append("\n" + namesArray[i].getName() + (namesArray[i].getRank(best)));
// displayArea.append(best);
}
}
}
LOL dieser Kerl ist überall. Habe es gerade bearbeitet. – UDKOX
Vielen Dank. Gewählt –