美文网首页
String习题

String习题

作者: 张轻舟 | 来源:发表于2019-05-24 20:34 被阅读0次

    String练习题
    1.字符串反转,例如将"abc"变成"cba"
    2.统计一个字符串里面另一个字符串出现的次数,例如统计"monkey"在"I am monkey1024.monkey like banana.little monkey is smart."中出现的次数
    3.统计一个字符串中大写字母出现的次数

    答案
    1.思路:字符串是由多个字符组成的,可以将字符串转换为字符(char)数组,然后倒序遍历数组即可

    
    import java.util.Scanner;
    
    /**
     * 字符串反转
     *
     */
    public class Exercise01 {
    
        public static void main(String[] args) {
            Scanner s = new Scanner(System.in);
            String input = s.next();
            //将输入的字符串转换为char类型数组
            char[] charArray = input.toCharArray();
            //遍历数组并倒着输出
            for(int i=charArray.length-1; i>=0; i--){
                System.out.print(charArray[i]);
            }
        }
    
    }
    

    2.思路:通过indexOf方法在大的字符串中查找小字符串的索引值,找到后将这个索引值和小字符串的长度相加,之后将大的字符串截取根据相加的结果截取子串,然后继续在剩下的字符串中查找小字符串的索引值,直到索引值返回-1为止

    
    /**
     * 统计一个字符串里面另一个字符串出现的次数
     *
     */
    public class Exercise02 {
    
        public static void main(String[] args) {
            String src = "I am monkey1024.monkey like banana.little monkey is smart.";
            String dest = "monkey";
            //定义出现的次数
            int count = 0;
    
            //定义索引值
            int index = 0;
    
    
            while((index = src.indexOf(dest)) != -1){
                count++;
                //将src截取子串
                src = src.substring(index + dest.length());
            }
    
            System.out.println("出现的次数是:" + count);
        }
    
    }
    

    3.思路:每个大写字母都是一个字符char,而大写字母A~Z是有范围的,只要统计这个范围内的字符即可

    
    
    public class Exercise03 {
    
        public static void main(String[] args) {
            String src = "monkEY";
            //统计大写字母出现的次数
            int count = 0;
    
            //将字符串转换为字符数组
            char[] c = src.toCharArray();
            for(int i=0; i<c.length; i++){
                //判断是否为大写字母
                if(c[i] >= 'A' && c[i] <= 'Z'){
                    count++;
                }
            }
    
            System.out.println("大写字母出现的次数:" + count);
        }
    
    }
    

    相关文章

      网友评论

          本文标题:String习题

          本文链接:https://www.haomeiwen.com/subject/vxanzqtx.html