-
我的輸入爲
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. 想要改變的的UISearchBar
- 2. 改變z-index並得到一個滾動條
- 3. 想要改變一個div的背景對CSS3
- 4. 想在ASP中創建一個變量來改變一個值
- 5. 我想要改變一個cookie值,當前往另一個頁面?
- 6. 要改變一個空的變量
- 7. 想要一個簡單的變量傳遞到PHP
- 8. 我有一個z-index的問題與我想可能需要剪輯或東西要進行修改
- 9. Python:想要改變圖像HSL像photoshop
- 10. 想要在另一個頁面回顯一個php變量
- 11. Array split bz count of
- 12. 想改變gtkfilechooser
- 13. 想改變笨
- 14. 我想改變
- 15. 想要改變標記圖標到小圓圈
- 16. 得到一個改變串
- 17. 想要像衰落的東西一樣順利地改變bg
- 18. 想要在聲明變量時給變量分配一個值
- 19. 混帳BZ錯誤:「BZ」沒有指定命令
- 20. 想要存儲一個HashMap?
- 21. 我想要一個ORM嗎?
- 22. 想要做一個緩存
- 23. 改變一個模式到另一個
- 24. 我想要改變配置文件圖片,當我選擇一個圖片
- 25. 我想要一個進度條,但得到一個微調progressdialog
- 26. 想改變文本
- 27. 我想改變ringertonevolume
- 28. 我想改變UWP
- 29. 想要繪製已由兩個變量
- 30. 多個ids影響,當我只想改變一個(javascript和jquery)
粘貼代碼,代碼和修復縮進,這會讓人們更容易查看您的問題。 – MathBunny
你的代碼不能編譯。 'sb'定義在哪裏? –
所以你想要一個「ROT(1)」? – ppeterka