-2

我正在尝试制作一个字谜谜题,在其中输入一个单词(例如,火),它会为我随机打乱它(它最终会像“rfie”、“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
    }

4

1 回答 1

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);
}
于 2015-03-02T14:30:17.387 回答