-
我的输入为
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