anagramdemo/simplescrambler/src/main/java/org/apidesign/demo/anagramwithspringandlookup/simplescrambler/SimpleScrambler.java
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/anagramdemo/simplescrambler/src/main/java/org/apidesign/demo/anagramwithspringandlookup/simplescrambler/SimpleScrambler.java Sun Apr 26 21:18:14 2009 +0200
1.3 @@ -0,0 +1,30 @@
1.4 +package org.apidesign.demo.anagramwithspringandlookup.simplescrambler;
1.5 +
1.6 +import java.util.Random;
1.7 +import org.apidesign.demo.anagramwithspringandlookup.Scrambler;
1.8 +import org.openide.util.lookup.ServiceProvider;
1.9 +
1.10 +@ServiceProvider(service=Scrambler.class)
1.11 +public class SimpleScrambler implements Scrambler {
1.12 + private static final Random random = new Random();
1.13 +
1.14 + public String scramble(String word) {
1.15 + for (;;) {
1.16 + int index1 = random.nextInt(word.length());
1.17 + int index2 = random.nextInt(word.length());
1.18 +
1.19 + if (index1 == index2) {
1.20 + continue;
1.21 + }
1.22 +
1.23 + char char1 = word.charAt(index1);
1.24 + char char2 = word.charAt(index2);
1.25 +
1.26 + StringBuilder sb = new StringBuilder(word);
1.27 + sb.setCharAt(index1, char2);
1.28 + sb.setCharAt(index2, char1);
1.29 + return sb.toString();
1.30 + }
1.31 + }
1.32 +
1.33 +}