gpt4 book ai didi

java - java中删除一个字符并替换另一个字符

转载 作者:行者123 更新时间:2023-11-30 03:29:27 25 4
gpt4 key购买 nike

我正在尝试做两件事:

  • 如果字符串以 结尾并且前面有辅音,则删除“S”。
  • 如果字符位于两个元音之间,则替换字符串中的所有“S”。

现在这是我的代码:

public class Phonias{

static String[] consonnant={"B","C","D","F","G","H","J","K","L","P","Q","R","S","T","V","W","X","Z"};
static String [] vowels={"A","E","I","O","U","Y"};

public static String phonias1(final String str){

if (str == null){
return "null";
}
if(str==""){
return "";
}
if (str.contains("S")){

}
for (int i = 0; i < consonnant.length; i++) {
if(str.endsWith(consonnant[i]+"S") && str.length()>3){
String temp = str.replaceAll(consonnant[i]+"S",consonnant[i]+"");
return temp;
}
}
for (int i = 0; i < vowels.length; i++) {
if( str.contains(vowels[i]+"S"+vowels[i])){

return str.replace("S"+vowels[i], "Z"+vowels[i]);

}
}
return str;

}
}

我的所有测试都运行良好,除了“ISISIDORETS”,它返回给我“ISISIDORET”。

最佳答案

您在第一个循环中返回 temp,因此第二个循环永远不会执行。只需更新卫生棉条并最终将其归还即可。就像这样:

for (int i = 0; i < consonnant.length; i++) {
if(tampon.endsWith(consonnant[i]+"S") && tampon.length()>3){
tampon = tampon.replaceAll(consonnant[i]+"S",consonnant[i]+"");//supprime le "S" final s'il est situé après une consonne
}
}
for (int i = 0; i < vowels.length; i++) {
if( tampon.contains(vowels[i]+"S"+vowels[i])){
tampon = tampon.replace("S"+vowels[i], "Z"+vowels[i]);//si le "S" précède une voyelle, remplacer par "Z"
}
}
return tampon;

关于java - java中删除一个字符并替换另一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29414307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com