-
我的輸入爲
aaasssuuu
,但我的輸出是aaasssvvv
;我想要的是bbbtttvvv
。那麼我的代碼有什麼問題? 代碼
class Solution{ public static void main(String[] args) { String str = "aaasssuuu"; System.out.println(functionalShiftLetters(str)); } public static String functionalShiftLetters(String str){ String ss = new String(); for(int i =0; i<=str.length()-1 ;i++) sb = str.replace((char)str.charAt(i), (char) (str.charAt(i)+1)); return ss; } }
0
A
回答
2
您可以通過串迭代,而不是使用.replace()
你可以添加一個到ASCII值來代替。這是改變方法:
public static String functionalShiftLetters(String str){
String ss = new String();
for(int x = 0; x < str.length(); x++){
ss += (char)((str.charAt(x) + 1)) + "";
}
return ss;
}
您可以快速達到這個使用StringBuilder
並給出了O(1)插入.append()
。
1
隨着的Java 8:
public static void main(String[] args) {
String str = "aaasssuuu";
str.chars()
.mapToObj(x -> (char) (x + 1))
.forEach(System.out::println);
}
與的Java 6:
char[] w = str.toCharArray();
for (char c : w) {
System.out.println((char) (c + 1));
}
0
因爲沒有人回答這個問題,你的錯誤是,你使用str
代替,但從不更新str
,所以只有最後一次替換纔會生效。更新您的代碼來替換你正在更新同一個變量:
public static String functionalShiftLetters(String str){
for(int i =0; i<=str.length()-1 ;i++)
str = str.replace((char)str.charAt(i), (char) (str.charAt(i)+1));
return str;
}
0
class Solution{
public static void main(String[] args) {
String str = "aaassszzz";
str.chars()
.mapToObj(c -> (char)(c + 1) > 'z' ? 'a' :(char)(c+1))
.forEach(System.out::print);
}
}
相關問題
- 1. 要改變一個空的變量
- 2. 想要一個簡單的變量傳遞到PHP
- 3. 想改變gtkfilechooser
- 4. 我想改變
- 5. 想改變笨
- 6. 想要改變標記圖標到小圓圈
- 7. 得到一個改變串
- 8. 改變一個模式到另一個
- 9. 我想要一個ORM嗎?
- 10. 無法提取shape_predictor_68_face_landmarks.dat爲bz
- 11. Bz的BluezV5.42 DBUS C API?
- 12. 我想要一個進度條,但得到一個微調progressdialog
- 13. 我想改變UWP
- 14. 我想改變ringertonevolume
- 15. 想要繪製已由兩個變量
- 16. 多個ids影響,當我只想改變一個(javascript和jquery)
- 17. 需要改變一個按鈕的onClick值到另一個值使用select
- 18. 想要將唯一值轉換爲第一個/第二個/第三個變量
- 19. 我想改變separtor在這個函數
- 20. 我只想要一個國家一行?
- 21. 只改變一個div的z-index而不是它們的每個子節點
- 22. 改造,我想要求@GET
- 23. 想要修改Chrome URL
- 24. Django想要使用另一個視圖中的變量
- 25. 想要在awk命令中使用其中的一個變量
- 26. 複製一個屬性到一個變量,屬性被改變
- 27. Ruby爲什麼要將變量改變到一個類的範圍之外?
- 28. Plotly Python - Heatmap - 改變Hovertext(x,y,z)
- 29. 更改一個變量會改變另一個變量
- 30. 我想做一個矩形,需要一個用戶inut得到一個大小
粘貼代碼,代碼和修復縮進,這會讓人們更容易查看您的問題。 – MathBunny
你的代碼不能編譯。 'sb'定義在哪裏? –
所以你想要一個「ROT(1)」? – ppeterka