java字符串中元音字母反转

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);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值