我想混合使用字符串緩衝區的字符串。程序應該隨機選擇StringBuffer1(sb1)中的單詞內的一個字符。將它附加到空的StringBuffer2(sb2),並持續執行此操作,直到StringBuffer1(sb1)的sb1.length()
等於0(空)。字符串索引超出範圍錯誤:如何解決?
這裏是我的代碼:
String word = "Hello";
String empty = "";
StringBuffer sb1 = new StringBuffer(word);
StringBuffer sb2 = new StringBuffer(empty);
Random randomChar = new Random();
while (word.length() != 0) {
int charIndex = randomChar.nextInt(word.length());
char character = sb1.charAt(charIndex);
sb2.append(character);
sb1.deleteCharAt(charIndex);
}
System.out.println(word.length());
System.out.println(word);
System.out.println(sb2);
再次仔細閱讀您的代碼。你在循環'word.length()',但是你從'sb1'中刪除。這將是學習使用調試器的好時機,它可以讓你在比你發佈在這裏的時間更少的時間內自己弄清楚。 –
爲什麼不轉換爲字符數組,然後洗牌,並轉換回字符串? –