练习题01String

1、编写程序将 "jdk" 全部变为大写,并输出到屏幕,截取子串"DK" 并输出到屏幕
2、写一个方法判断一个字符串是否对称
3、编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转:“To be or not to be",将变成"oT eb ro ton ot eb"
4、String s="name=zhangsan age=18 classNo=090728";
将上面的字符串拆分,结果如下:zhangsan 18 090728
5、使用两种方法把这个字符串中的单词首字母转为大写:
String str = “hello Java and Android!”
6、已知字符串:"this is a test of java"
按要求执行以下操作:
(1) 统计该字符串中字母s出现的次数
(2) 取出子字符串"test"
(3) 用多种方式将本字符串复制到一个字符数组Char[] str中.
(4) 将字符串中每个单词的第一个字母变成大写, 输出到控制台。
(5) 实现该字符串的倒叙输出。(用StringBuffer和for循环方式分别实现)
(6) 将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的额英文单词,并输出到控制台

package com.xxx;


public class homework1 {
    public static void main(String[] args) {
        String s = "jdk";
        String s1 = s.toUpperCase();
        System.out.println(s1);

        String s2 = s1.substring(1, 3);
        System.out.println(s2);
    }

    public static String reverseStr(String string) {
        char[] chars = string.toCharArray();//toCharArray将此字符串转换为一个新的字符数组。

        //倒序遍历字符数组
        //用一个string拼接
        String str = "";
        for (int i = chars.length - 1; i >= 0; i--) {
            str = chars[i] + "";
            str.toString();
        }
        return str;
    }
}

class homework2 {
    public static void main(String[] args) {
//        homework1.reverseStr("123");
    }

    public static boolean symmetry(String string) {
        StringBuilder sb = new StringBuilder(string);
        StringBuilder reverse = sb.reverse();
        return reverse.equals(string);
    }
}

class homework3 {
    public static void main(String[] args) {
        String s = "To be or not to be";
//        char[] chars = s.toCharArray();
//        System.out.println(chars);
//        for (int i = 0; i < chars.length; i++) {
//            System.out.print(new StringBuilder(chars[i]).reverse().toString());
//        }
        String[] ss = s.split(" ");
//        System.out.println(ss);
        String str = "";
        for (int i = 0; i < ss.length; i++) {
            StringBuilder result = new StringBuilder(ss[i]).reverse();
            str = result + " ";
            System.out.print(str);
        }
    }
}

class homework4 {
    public static void main(String[] args) {
        String s = "name=zhangsan age=18 classNo=090728";
        String[] ss = s.split(" ");//根据空格拆分
        String pin = "";
        for (int i = 0; i < ss.length; i++) {
//            int i1 = ss[i].indexOf("=");
//            ss[i].substring(i1);
            String[] temp = ss[i].split("=");//当前字符串截取成一个新的字符串数组
            pin += temp[1] + " ";//第二个字符串拼接上一个空格
        }
        System.out.println(pin.trim());//trim返回字符串的副本,忽略前导空白和尾部空白。

        //方法二:
        //实例化StringBuffer
        StringBuffer sb = new StringBuffer();
        //使用循环遍历
        for (int i=0;i<ss.length;i++) { sb.append(ss[i].substring(ss[i].indexOf("=")+1)+" "); }
        System.out.println(sb);
    }
}

class homework5_1 {
    public static void main(String[] args) {
        String str = "hello Java and Android!";
        String[] ss = str.split(" ");//拆分字符串数组,一个单词为一个字符串
        String s3 = "";
        for (int i = 0; i < ss.length; i++) {
            char c = ss[i].charAt(0);//获取每个单词的首字母
            String s = Character.toString(c);//转为字符串
            String s1 = s.toUpperCase();//转为大写
            String s2 = ss[i].substring(1);//返回从第二个字母开始的单词字符串
            s3 += s1.concat(s2) + " ";//拼接
        }
        System.out.println(s3.trim());
    }
}

class homework5_2 {
    public static void main(String[] args) {
        String str = "hello Java and Android!";
        String[] ss = str.split(" ");//拆分字符串数组,一个单词为一个字符串

        //取每个字符串的首字母转大写
        String pin = "";
        for (int i = 0; i < ss.length; i++) {
            pin += ss[i].substring(0, 1).toUpperCase() + ss[i].substring(1) + " ";
        }
        System.out.println(pin.trim());
    }
}

class homework6 {
    public static void main(String[] args) {
        String string = "this is  a test of java";
//        exe1(string);
//        exe2(string);
//        exe3(string);
//        exe4(string);
//        exe5(string);
        exe6(string);
    }

    //统计该字符串中字母s出现的次数
    public static void exe1(String string) {
        char[] chars = string.toCharArray();
        int count = 0;
        for (int i = 0; i < chars.length; i++) {
            if ('s' == chars[i]) {
                count++;
            }
        }
        System.out.println(count);
    }

    //取出子字符串"test"
    public static void exe2(String string) {
        int test = string.indexOf("test");
        System.out.println(string.substring(test, test + 4));

        //方法二:
        //将字符串根据空格来进行拆分
        String[] nums = string.split(" ");
        for (int i=0;i<nums.length;i++) {
            if (nums[i].equals("test")){
                System.out.println(nums[i]);
            }
        }
    }

    //用多种方式将本字符串复制到一个字符数组char[] str中
    public static void exe3(String string) {
        char[] str = string.toCharArray();//toCharArray将此字符串转换为一个新的字符数组。
    }

    //将字符串中每个单词的第一个字母变成大写,输出到控制台
    public static void exe4(String string) {
        String[] ss = string.split(" ");
        String pin = "";
        for (int i = 0; i < ss.length; i++) {
            if (ss[i].charAt(0) >= 'a' && (ss[i].charAt(0) <= 'z')) {
                //charAt返回指定索引处的 char 值
                ss[i] = ss[i].replace((ss[i].charAt(0) + ""), (ss[i].charAt(0) + "").toUpperCase());
            }
            pin += ss[i] + " ";
        }
        System.out.println(pin);
    }

    //实现该字符串的倒序输出。(用StringBuffer和for循环方式分别实现)
    public static void exe5(String string) {
        char[] chars = string.toCharArray();//toCharArray将此字符串转换为一个新的字符数组。
        String s = "";
        for (int i = chars.length - 1; i >= 0; i--) { //注:这里要 -1
            s += chars[i] + "";
        }
        System.out.println(s);

        //方法二:
        System.out.println(new StringBuilder(string).reverse().toString());
    }

    //将本字符串转换成一个字符串数组,要求每个数组元素都是一个有意义的英文单词,并输出到控制台
    public static void exe6(String string) {
        String[] s = string.split(" ");
//        for (String s1 : s) {
//            System.out.println(s1);
//        }
        for (int i = 0; i < s.length; i++) {
            if (s[i].equals("") == false) {//如果下标元素字符串等于空不成立(不为空)
                System.out.println(s[i]);
            }
        }
    }
}
posted @ 2022-10-11 13:13  Rix里克斯  阅读(118)  评论(0)    收藏  举报