我期待切换字符串中的2个随机字符。例如,如果我以“abcdef”开头,我希望计算机生成2个随机数字,并切换2个字符。所以一个可能的结果可能是“afcdeb”。如何在java中的字符串中切换两个随机字母?
回答
- 获得字符串的长度
- 得到2个不同的随机INT之间0和数字的字符串的长度:RAND1和RAND 2。
- 我想你应该将字符串转换为一个字符数组。
- 使用2个随机数进行数组交换。
- 将数组转换为字符串。
您可以使用以下方法使用StringBuilder。
String string="Your String";
int length=string.length();
Random rand=new Random();
int one=0;
int two=0;
/*
generate two random indexes which are not equal to each other.
*/
while(length>=2 && one==two){
one=rand.nextInt(length);
two=rand.nextInt(length);
}
//use String builder and interchange the characeters.
StringBuilder builder=new StringBuilder(string);
builder.setCharAt(one,string.charAt(two));
builder.setCharAt(two,string.charAt(one));
String newString=builder.toString();
对不起,是一种痛苦,但有没有办法做到这一点没有StringBuilder? –
有一种方法。你连接子串并创建新的字符串。但是代码会有点复杂。在[this](http://stackoverflow.com/questions/6952363/replace-a-character-at-a-specific-index-in-a-string)问题 –
生成0之间的随机数索引1和索引2和(字符串-1的长度)
int index1= randomNumber1;
int index2= randomNumber2;
String str ="abcdef";
String charSwap1= str.substring(index1, index1+1);
String charSwap2= str.substring(index2, index2+1);
StringBuilder builder=new StringBuilder();
builder.append(str);
builder.replace(index1,index1+1,charSwap2);
builder.replace(index2,index2+1,charSwap1);
System.out.println(builder.toString());
这将返回String charSwap1 = str中的错误。 substring(index1,index1 + 1); String charSwap2 = str.substring(index2,index2 + 1);索引超出范围 –
startIndex是包含性的,而endIndex是独占性的。它不应该返回任何错误,因为在您的情况下索引+ 1将是2,并且index2 + 1应该是6,它在字符串范围内。你是否遇到charSwap2或charSwap1错误?如果是charSwap2,则改为使用它。 str.substring(index2)如果它是最后一个字符。 – annu
- 1. 在Python中切换两个字符串的首字母?
- 2. 如何在字符串中随机替换一个字符?
- 3. 如何在java中替换字符串中的特定字母?
- 4. 如何计算随机字符串中的字母数?
- 5. 如何在字符串中查找字母以及如何按字母顺序返回两个字符串? java
- 6. Java。如何将随机的字符行转换为字符串?
- 7. 字符串中的Java切换字母表案例
- 8. 在java中交换一个未知字符串中的两个字母
- 9. 在一个字符串中随机播放字母C++
- 10. 在Java中切换字符串的第一个和最后一个字母?
- 11. 用字符串中的随机字符替换字母和数字
- 12. java中两个字符串的大写字母的常见字符/字母
- 13. 如何检测字符串中的字母并切换它们?
- 14. 用随机字符替换字符串中的每个数字
- 15. 随机替换字中的字母
- 16. 在java中随机选择字符串
- 17. 在java中随机使用字符串?
- 18. 如何将C中两个字符串的字符随机组合在一起?
- 19. 基于VB.NET中的两个字符生成随机字符串
- 20. 随机字母字符替换
- 21. 在不同的java程序中生成两个相同的随机字母数字字符串
- 22. 如何在Java中生成6个字符的随机字符串
- 23. java中的随机字符串条件
- 24. 如何在Swift中随机化字符串中的字母大小写?
- 25. 如果字符串中的字母替换为字符串中的字母
- 26. 生成随机字母在Java中
- 27. 如何生成随机字母数字字符串?
- 28. 如何以字母顺序替换字符串中的字母
- 29. 如何切换2d阵列中的两个字符串
- 30. 在字符串中随机化字母C
什么是你的代码试过吗? – Gunaseelan