anagramdemo/simplescrambler/src/main/java/org/apidesign/demo/anagramwithspringandlookup/simplescrambler/SimpleScrambler.java
author Jaroslav Tulach <jtulach@netbeans.org>
Mon, 08 Feb 2010 14:51:45 +0100
changeset 977 5cb76f2cb8a0
parent 576 ba2d4fa4aa87
permissions -rw-r--r--
Hyperlink to Lookup and ApplicationContext's javadocs
jtulach@576
     1
package org.apidesign.demo.anagramwithspringandlookup.simplescrambler;
jtulach@576
     2
jtulach@576
     3
import java.util.Random;
jtulach@576
     4
import org.apidesign.demo.anagramwithspringandlookup.Scrambler;
jtulach@576
     5
import org.openide.util.lookup.ServiceProvider;
jtulach@576
     6
jtulach@584
     7
// BEGIN: anagramdemo.springlookup.scrambler
jtulach@576
     8
@ServiceProvider(service=Scrambler.class)
jtulach@576
     9
public class SimpleScrambler implements Scrambler {
jtulach@576
    10
    private static final Random random = new Random();
jtulach@576
    11
jtulach@576
    12
    public String scramble(String word) {
jtulach@584
    13
// FINISH: anagramdemo.springlookup.scrambler
jtulach@576
    14
        for (;;) {
jtulach@576
    15
            int index1 = random.nextInt(word.length());
jtulach@576
    16
            int index2 = random.nextInt(word.length());
jtulach@576
    17
jtulach@576
    18
            if (index1 == index2) {
jtulach@576
    19
                continue;
jtulach@576
    20
            }
jtulach@576
    21
jtulach@576
    22
            char char1 = word.charAt(index1);
jtulach@576
    23
            char char2 = word.charAt(index2);
jtulach@576
    24
            
jtulach@576
    25
            StringBuilder sb = new StringBuilder(word);
jtulach@576
    26
            sb.setCharAt(index1, char2);
jtulach@576
    27
            sb.setCharAt(index2, char1);
jtulach@576
    28
            return sb.toString();
jtulach@576
    29
        }
jtulach@576
    30
    }
jtulach@576
    31
jtulach@576
    32
}