author | Jaroslav Tulach <jtulach@netbeans.org> |
Mon, 08 Feb 2010 14:51:45 +0100 | |
changeset 977 | 5cb76f2cb8a0 |
parent 576 | ba2d4fa4aa87 |
permissions | -rw-r--r-- |
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 |
} |