Ich muss 5 oder mehr Zeichen lange Wörter in einer gegebenen Zeichenfolge umkehren. Zum Beispiel: * Gegebene Zeichenfolge: Mein Name ist Michael. * Ausgabe: Mein Name ist leahciM.Einige Wörter in einer Zeichenfolge umkehren
Der Rest des Satzes bleibt gleich, nur die langen Wörter werden umgekehrt.
Bisher kam ich mit auf den Punkt:
public static String spinWords(String sentence) {
String[] splitWords = sentence.split(" ");
String reversedSentence = "";
String reversedWord = "";
for (String str : splitWords) {
if (str.length() >= 5) {
for (int i = str.length() - 1; i >= 0; i--)
reversedWord += (str.charAt(i) + " ");
}
}
}
Und ich habe diese Worte umgekehrt, aber 1) sie sind in einer Zeichenkette, ohne Leerzeichen 2) Ich weiß nicht, wie sie zurück zu setzen in ihre Orte in String
Gibt es eine Möglichkeit, diesen Raum am Ende zu entfernen? Ich mag Ihre Methode wirklich, ohne StringBuilder zu verurteilen (ich glaube nicht, dass ich zusätzliche Bibliotheken bei Codewars verwenden kann). – doublemc
@doublemc * "Sie könnten alle Wörter zurück in eine Liste innerhalb der Schleife setzen und reversedSentence = String.join (" ", list) nach der Schleife" * aufrufen oder die andere Antwort mit 'String # trim()' überprüfen –
m0skit0
@doublemc ein Trick ist, ein 'boolean firstWord = true' zu haben und in deiner Schleife:' if (firstWord) {result = str; firstWord = false; } else {Ergebnis + = "" + str; } ' – assylias