如何扰乱字符串

时间:2015-03-02 13:53:31

标签: string anagram scramble

我试图制作一个Anagram拼图,我在其中输入一个单词(例如,火)并且它随机地为我加扰它(它最终会像" rfie",&# 34; frei"等...)以下是我尝试做的基础知识。我需要知道的是如何扰乱字符串。



public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        System.out.println("Input word");
        String Word = sc.nextLine();
     
        //Program jumbles word here
     
        System.out.println(Word);
        //Jumbled word is printed one previous line
    }




1 个答案:

答案 0 :(得分:0)

您可以使用以下算法:

public static void main(String[] args){

    String myWord = "Hello";
    StringBuilder jumbledWord = new StringBuilder();
        jumbledWord.append(myWord);
        Random rand = new Random();
        for (int i = myWord.length(); i > 0; i--)
        {
             int index1 = (rand.nextInt(i+1) % myWord.length());
             int index2 = (rand.nextInt(i) % myWord.length());

             char temp = jumbledWord.charAt(index1);
             jumbledWord.setCharAt(index1, jumbledWord.charAt(index2));
             jumbledWord.setCharAt(index2, temp);

         }

         System.out.println(jumbledWord);
}
相关问题