由於某些原因,此代碼不起作用。字符串替換不適用於for循環 - Java
public void actionPerformed(ActionEvent e) {
Random random = new Random();
int randomChar = random.nextInt((23 - 0) + 1);
for(int x = 23;x > 0;x--) {
String text;
text = original.getText();
text = text.toLowerCase();
text = text.replace(alphabet[x], alphabet[randomChar]);
newText.setText(text);
}
只是爲了清除一些東西原來和newText是JTextField和字母表是一個字符數組與a-z。
現在當我運行它時,它應該經過並用隨機的字符替換每個字符,從Z開始到A結束,但它只是給我輸入完全相同的字符串,只是轉換爲小寫。
值得一提的是,如果我取代
text = text.replace(alphabet[x], alphabet[randomChar]);
隨着
text = text.replace(alphabet[0], alphabet[randomChar]);
而且放了一堆A的進入輸入框中它不改變它們爲一個隨機的信。 EG:
aaaa input
llll output
or gggg output
它只是不工作,如果我有一個變量在那裏。
其餘代碼並不重要,它都是聲明變量並設置GUI。
任何幫助非常感謝!
嘗試打印隨機字符並在循環中輸入字符串,以便您可以調試正在進行的操作並確保字符串實際上包含字符。 – SamTebbs33 2014-10-05 17:44:24
這兩個工作正常,X遞減和隨機選擇隨機數(一旦我把它移到for循環內,這並沒有解決問題btw) – Unknown 2014-10-05 17:51:43