StringBuilder, , , , . , .
, , - :
// pseudocode
text is new text swapping cat with dog
text is new text swapping dog with fish
text is new text swapping fish with cat
for each word in text
if word is cat, swap with dog
if word is dog, swap with fish
if word is fish, swap with cat
transfer new word (or unchanged word) into StringBuilder.
, , swap (...) HashMap .
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class SwapWords {
private static Map<String, String> myMap = new HashMap<String, String>();
public static void main(String[] args) {
myMap.put("cat", "dog");
myMap.put("dog", "fish");
myMap.put("fish", "dog");
String testString = "cat dog fish dog fish cat";
StringBuilder sb = new StringBuilder();
Scanner testScanner = new Scanner(testString);
while (testScanner.hasNext()) {
String text = testScanner.next();
text = myMap.get(text) == null ? text : myMap.get(text);
sb.append(text + " ");
}
System.out.println(sb.toString().trim());
}
}