用Java自带的方法replace()
实现代码:
import java.util.Scanner;
public class ReplaceString {
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
scan.nextLine();
for(int i=0;i<n;i++){
String str=scan.nextLine();
str=str.replace("you", "we");
System.out.println(str);
}
scan.close();
}
}
思路:将字符串转换成字符数组处理,将三位是'you'的转换成'we',然后后面的往前移位。
import java.util.*;
public class ReplaceString {
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
int n=scan.nextInt();
// scan.nextLine();
// for(int i=0;i<n;i++){
// String str=scan.nextLine();
// str=str.replace("you", "we");
// System.out.println(str);
// }
scan.nextLine();
for(int i=0;i<n;i++){
String str=scan.nextLine();
char[] arr=str.toCharArray();
for(int j=0;j<str.length()-2;j++){
if(arr[j]=='y'){
if(arr[j+1]=='o'){
if(arr[j+2]=='u'){
arr[j]='w';
arr[j+1]='e';
for(int k=j+2;k<str.length()-1;k++){
arr[k]=arr[k+1];
}
arr[str.length()-1]=' ';
}
}
}
}
System.out.println(new String(arr));
}
scan.close();
}
}
不过如果只是打印输出的话就不用再移动了,直接边打印边输出