author | Jaroslav Tulach <jtulach@netbeans.org> |
Sat, 14 Jun 2008 10:07:21 +0200 | |
changeset 230 | 3282ef5328a8 |
parent 217 | a7d412ef33a1 |
permissions | -rw-r--r-- |
jtulach@217 | 1 |
package org.apidesign.anagram.scramblersimple; |
jtulach@217 | 2 |
|
jtulach@217 | 3 |
import java.util.Random; |
jtulach@217 | 4 |
import org.apidesign.anagram.api.Scrambler; |
jtulach@217 | 5 |
|
jtulach@230 | 6 |
public class SimpleScrambler implements Scrambler { |
jtulach@217 | 7 |
private static final Random random = new Random(); |
jtulach@217 | 8 |
|
jtulach@217 | 9 |
public String scramble(String word) { |
jtulach@217 | 10 |
for (;;) { |
jtulach@217 | 11 |
int index1 = random.nextInt(word.length()); |
jtulach@217 | 12 |
int index2 = random.nextInt(word.length()); |
jtulach@217 | 13 |
|
jtulach@217 | 14 |
if (index1 == index2) { |
jtulach@217 | 15 |
continue; |
jtulach@217 | 16 |
} |
jtulach@217 | 17 |
|
jtulach@217 | 18 |
char char1 = word.charAt(index1); |
jtulach@217 | 19 |
char char2 = word.charAt(index2); |
jtulach@217 | 20 |
|
jtulach@217 | 21 |
StringBuilder sb = new StringBuilder(word); |
jtulach@217 | 22 |
sb.setCharAt(index1, char2); |
jtulach@217 | 23 |
sb.setCharAt(index2, char1); |
jtulach@217 | 24 |
return sb.toString(); |
jtulach@217 | 25 |
} |
jtulach@217 | 26 |
} |
jtulach@217 | 27 |
|
jtulach@217 | 28 |
} |