我期待切換字符串中的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