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));
           }
        }
    }
  • 相关阅读:
    百度练习题 统计元音字母
    guess number
    LPTHW 结束了
    大坑
    LPTHW 笨办法学python 40章 类
    LPTHW 笨办法学python 37章 python关键字/关键词介绍
    dis进行反编译
    LPTHW 笨办法学python 33章
    eclipse安装详解以及遇到的问题
    安装eclipse错误Could not create the Java virtual machine
  • 原文地址:https://www.cnblogs.com/tk55/p/8463884.html
Copyright © 2011-2022 走看看