基本规则是将一个英语单词的第一个辅音音素(除了a e i o u这五个其他的都是辅音音素)的字母移动到词尾并且加上后缀-ay(譬如“banana”会变成“anana-bay”)
import java.util.Scanner;
/*
*
*/
public class Demo2 {
public static void main(String[] args) {
System.out.println("请输入一个英文单词:");
Scanner sc = new Scanner(System.in);
//从键盘接收一个字符串
String s = sc.nextLine();
for(int i = 0;i<s.length();i++)
{
//将字符串从第一个字符开始比较,找到符合的字符就进入代码段
if(s.charAt(i)!='a'&&s.charAt(i)!='e'&&s.charAt(i)!='i'&&s.charAt(i)!='o'&&s.charAt(i)!='u')
{
//将此字符转成String类型(因为replaceFirst这个函数里的参数得是String类型的)
String c = String.valueOf(s.charAt(i));
//replaceFirst这个函数是为了将找到的字符替换成空格(即删除),然后拼接字符串输出
s = s.replaceFirst(c,"")+"-"+c+"ay";
System.out.println(s);
//为啥要用break,因为我已经找到第一个不是元音的字符了,后面的就不需要遍历了,而且如果没有这个break会出问题....
break;
}
}
}
}
PS:一开始我用的是replace这个函数,然后发现字符串中所有的找到的字符都被干掉了,所以用的replaceFirst函数
夜阑卧听风吹雨,铁马冰河入梦来.