作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是java初学者,现在我一直在尝试交换所有其他字母。例如,如果输入是:婴儿我希望输出是:
但我似乎无法理解这一点。这是我的代码,
String str = "baby";
int lee =0;
int le = 0;
for ( le = 1; le <= str.length(); le +=2) {
System.out.print(str.charAt(le));
for ( lee = 0; lee < str.length(); lee +=2) {
System.out.print(str.charAt(lee));
}}
提前致谢
最佳答案
使用正则表达式替换很容易做到这一点:
String input = "baby";
input = input.replaceAll("(.)(.)", "$2$1");
System.out.println(input);
abyb
如果您确实想通过循环来执行此操作,请使用 StringBuilder
并且在输入时只需执行两步:
String input = "baby";
StringBuilder sb = new StringBuilder("");
for (int i=0; i < input.length()-1; i=i+2) {
sb.append(input.charAt(i+1));
sb.append(input.charAt(i));
}
// edge case: for odd-length inputs, we don't swap the final letter
// but we still add it to the end of the string
if (input.length() % 2 != 0) sb.append(input.charAt(input.length()-1));
System.out.println(sb);
关于java - 如何在 Java 中交换所有其他字母/字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49914672/
我是一名优秀的程序员,十分优秀!