我正在做一個有幾個獨立部分的類分配,除了這個之外,我已經完成了這些任務。我需要從用戶獲取一個字符串輸入,並創建一個循環(最好是for循環),在每個字符之間插入星號。我完全沉迷於這一個,所以如果有人可以給我一些幫助,開始它將不勝感激。Java - For Loop在用戶輸入的字符串的字符之間插入星號
我來到了這個迄今爲止
} else if (choice.equalsIgnoreCase("C")) {
System.out.print("Enter text here: ");
String orig = input.nextLine();
// To use for asterisk insertion
int x = 1;
int y = 2;
for (int length = orig.length(); length > 0;) {
orig = orig.substring(0,x) + "*" + orig.substring(y);
x = x + 2;
y = y + 2;
}
}
它編譯就好了,但是當我測試,並輸入一些文字它 異常出現在線程「主要」 java.lang.StringIndexOutOfBoundsException:字符串索引超出範圍:5
而不是使用子的,它會更容易,直觀,高效簡單地通過附加原始字符串後跟一個星號(除了最後一個)到一個StringBuilder的每個字符重新創建一個新的字符串。您當然也可以在除第一個字符之外的每個字符前加上一個星號。 –
唯一的問題可能是我們還沒有學會如何使用StringBuilder,所以我不確定我是否應該使用該方法。此外,示例輸出將第一個星號後的第一個星號和最後一個字符後的最後一個星號放在一起。即; h *我* – user2827341
我想我收到的錯誤,我只需要找到一種方法來告訴循環何時停止做這個過程,因爲它將要結束,然後搞砸了? – user2827341