- 文字列を文字の配列に変換し、Collectionsクラスのshuffleメソッドを使用する方法:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class StringShuffler {
public static void main(String[] args) {
String input = "Hello, World!";
List<Character> characters = new ArrayList<>();
for (char c : input.toCharArray()) {
characters.add(c);
}
Collections.shuffle(characters);
StringBuilder shuffledString = new StringBuilder();
for (char c : characters) {
shuffledString.append(c);
}
System.out.println(shuffledString.toString());
}
}
- 文字列を文字の配列に変換し、自前のシャッフルアルゴリズムを使用する方法:
public class StringShuffler {
public static void main(String[] args) {
String input = "Hello, World!";
char[] characters = input.toCharArray();
for (int i = characters.length - 1; i > 0; i--) {
int j = (int) (Math.random() * (i + 1));
char temp = characters[i];
characters[i] = characters[j];
characters[j] = temp;
}
String shuffledString = new String(characters);
System.out.println(shuffledString);
}
}
- 文字列を文字の配列に変換し、Fisher-Yatesアルゴリズムを使用する方法:
public class StringShuffler {
public static void main(String[] args) {
String input = "Hello, World!";
char[] characters = input.toCharArray();
for (int i = characters.length - 1; i > 0; i--) {
int j = (int) (Math.random() * (i + 1));
char temp = characters[i];
characters[i] = characters[j];
characters[j] = temp;
}
String shuffledString = new String(characters);
System.out.println(shuffledString);
}
}
これらの方法を使用すると、Javaで文字列をシャッフルすることができます。どの方法を選ぶかは、具体的な要件やパフォーマンスの要求によって異なります。