本文介绍了如何在不使用Collections.shuffle(...)的情况下随机播放字符串中的字符?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何将字符串中的字符随机播放(例如,hello可以是ehlol或lleoh或...).我不想使用Collections.shuffle(...)方法,有没有更简单的方法?
How do I shuffle the characters in a string (e.g. hello could be ehlol or lleoh or ...). I don't want to use the Collections.shuffle(...) method, is there anything simpler?
推荐答案我不知道更简单的方法.但是您可以使用Math.rand()功能在字符长度范围内生成一个随机数,而无需替换,这会给您带来混乱的输出结果
I dont know anything simpler. But you can use the Math.rand() functionality to generate a random number within the range of the character's length without replace and that would give you a shuffled output
public class Shuffle { public static void main(String[] args) { Shuffle s = new Shuffle(); s.shuffle("hello"); } public void shuffle(String input){ List<Character> characters = new ArrayList<Character>(); for(char c:input.toCharArray()){ characters.add(c); } StringBuilder output = new StringBuilder(input.length()); while(characters.size()!=0){ int randPicker = (int)(Math.random()*characters.size()); output.append(characters.remove(randPicker)); } System.out.println(output.toString()); } } /* Sample outputs hlleo llheo leohl lleho */更多推荐
如何在不使用Collections.shuffle(...)的情况下随机播放字符串中的字符?
发布评论