您的位置:首页 > 编程语言 > Java开发

java字符串中元音字母反转

2016-08-01 20:24 519 查看
package stringRe;

//元音字母反转
public class ReverseVowelsofString {

public static void main(String[] args) {
// TODO Auto-generated method stub
String s = "hello";
SolutionVo sv = new SolutionVo();
String res = sv.reverseVowels(s);
Show1.show(res);
}

}

class SolutionVo {
public String reverseVowels(String s) {
//        //将字符串中的原因反转存储===============》居然说超时
//    	String reverString = new StringBuffer(s).reverse().toString();
//    	String vols = "";//存储反转后的元音
//    	int sl = s.length();
//    	for(int i = 0; i<sl;i++)
//    	{
//    		char c = reverString.charAt(i);
//    		if(c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'||c=='o'||c=='O'||c=='u'||c=='U')
//    		{
//    			vols =vols+c;
//    		}
//    	}
//
//    	//然后在按原顺序在字符串中查找元音  找到后就替换
//    	String res = "";
//    	int t = 0;//检索vols中的元音
//    	for(int i = 0; i<sl; i++)
//    	{
//    		char c = s.charAt(i);
//    		if(c=='a'||c=='A'||c=='e'||c=='E'||c=='i'||c=='I'||c=='o'||c=='O'||c=='u'||c=='U')
//    		{
//    			res += vols.charAt(t);
//    			t++;
//    		}
//    		else//若不是元音则按原顺序
//    		{
//    			res += c;
//    		}
//    	}
//        return res;

char[] c=s.toCharArray();
char[] c2=new StringBuffer(s).reverse().toString().toCharArray();
char[] temp =new char[c2.length];
int count=0;
for(int i=0;i<c2.length;i++)
if(c2[i]=='a'||c2[i]=='A'||c2[i]=='e'||c2[i]=='E'||c2[i]=='i'||c2[i]=='I'||c2[i]=='o'||c2[i]=='O'||c2[i]=='u'||c2[i]=='U'){
temp[count++]=c2[i];

int count2=0;
for(int i1=0;i1<c.length;i1++)
if(c[i1]=='a'||c[i1]=='A'||c[i1]=='e'||c[i1]=='E'||c[i1]=='i'||c[i1]=='I'||c[i1]=='o'||c[i1]=='O'||c[i1]=='u'||c[i1]=='U'){
c[i1]=temp[count2++];
}
}
return new String(c);
}
}

class Show1{
public static void show(String s)
{
System.out.println(s);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: