我必须用Java编写一个程序,通过切换字母'e'和'o'来替换'Hello,World'中的字母,这样程序的输出就是"Holle,Werld".我尝试使用以下代码执行此操作,但已经意识到所有o都是e,而e将保持为e.我知道e正在覆盖o,但我只是不知道如何修复.我现在的输出是'Helle Werld'.再次,我想要"Holle,Werld".谢谢!
import java.util.Scanner;
public class E2U7
{
public static void main(String[] args)
{
String river = "Hello, World";
river = river.replace("e","o");
river = river.replace("o","e");
System.out.print(river);
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在字符串中按字符串char:
public class JavaTestiMain {
public static void main(String[] args)
{
String river = "Hello, World";
StringBuilder sb=new StringBuilder();
for (char c : river.toCharArray()){
if(c == 'e'){
sb.append('o');
}
else if (c=='o'){
sb.append('e');
}
else{
sb.append(c);
}
}
System.out.println(sb.toString());
}
}
Run Code Online (Sandbox Code Playgroud)
因为你是一个入门者,一个(希望)可理解的解释:基本上,你从第一个符号开始循环遍历给定的String.如果是e,请在临时解决方案中添加o,如果是o,则添加e,如果是另一个char,则添加它.最后从StringBuilder获取最终的String.在这种情况下,你不要将你的e改为o蚂蚁然后将全部改为e's.
其他答案的优点是,如果中间符号位于起始字符串中,则不会导致问题.
| 归档时间: |
|
| 查看次数: |
314 次 |
| 最近记录: |