anagramdemo/simplescrambler/src/main/java/org/apidesign/demo/anagramwithspringandlookup/simplescrambler/SimpleScrambler.java
changeset 576 ba2d4fa4aa87
child 584 e715e6651175
     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 +}