zoukankan      html  css  js  c++  java
  • 字符串元音字母反转,其他的不变

    思路:用ArrayList存放元音字母(因为有个contains方法),并记录元音的序号和放进栈里面(反转类似栈先进后出),里面用到string与char数组的转换

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    import java.util.Stack;
    
    public class reverseWords {
       
        public static String reverseVowels(String s) {
            Stack<String> replace=new Stack<String>(); //利用栈先进后出
            List<Character> contain=new ArrayList<Character>(); //存储元音字母
            int count=0; //元音字母个数
            contain.add('a');
            contain.add('e');
            contain.add('i');
            contain.add('o');
            contain.add('u');
            contain.add('A');
            contain.add('E');
            contain.add('I');
            contain.add('O');
            contain.add('U');
            char[] ch=s.toCharArray();
            for(int i=0;i<s.length();i++){
                if(contain.contains(ch[i]))
                    count++;
            }
            if(count<2) return s; //元音小于2个不用反转
            int[] num=new int[count]; //记录元音字母位置
            int j=-1;
            for(int i=0;i<ch.length;i++){
                if(contain.contains(ch[i])){
                    num[++j]=i;
                    replace.push(String.valueOf(ch[i])); //进栈
                }   
            }
            for(int i=0;i<count;i++){
                    ch[num[i]]=replace.pop().charAt(0);
            }
            return String.valueOf(ch);   //char数组转string不可以用toString() 
        }
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner scanner=new Scanner(System.in);
             while(scanner.hasNext()){
               String str=scanner.next();
               System.out.println(reverseVowels(str));
           }
        }
    }
  • 相关阅读:
    从03域控升级至2012
    Aundit使用记录文档
    exchange2010新特性
    MSDN介绍内容
    2013优秀博客
    邮箱协议
    不错的2010学习博客
    觉得UtraWebGrid老不稳定
    初体验:今天弄了下NetAdvantage赶紧写写,怕明天睡醒又忘了哦。
    在代码文件中设置控件的长宽这些是这样的。
  • 原文地址:https://www.cnblogs.com/tk55/p/8463884.html
Copyright © 2011-2022 走看看