String类实验练习

  • Post author:
  • Post category:其他

1.给定一个字符串,例如“abcdef”,要求倒序输出即“fedcba”。

2.给定一个字符串“1a5fds6fds9FAWEDF8abc”,输出小写字母、大写字母、数字各有多少个。

3. String s=”name=王五 age=18 classNum=1101”;将上面的字符串中包含的信息存放到 Student类中(里面有 name,age,classNum 三个属性)。

思路:使用 String 的方法按照空格分隔符分割,然后再根据等号切割。

4. 字符串压缩:利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。

示例:字符串“aabaaccdd”会变成“a4b1c2d2”。若“压缩”以后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a-z)。

public class StringTest {
    public static void main(String[] args) {
        //1
        String str = "abcdeg";
        StringBuffer stb = new StringBuffer(str);
        System.out.println(stb.reverse());

        //2
        String str1 = "1a5fds6fds9FAWEDF8abc";
        char[] c = str1.toCharArray();
        int count = 0;
        int lowcount = 0;
        int upcount = 0;
        for (int i = 0; i < c.length; i++) {
            if (c[i] >= '0' && c[i] <= '9') {
                count++;
            }
            if (c[i] >= 'a' && c[i] <= 'z') {
                lowcount++;
            }
            if (c[i] >= 'A' && c[i] <= 'Z') {
                upcount++;
            }
        }
        System.out.println("数字个数:" + count);
        System.out.println("小写字母个数:" + lowcount);
        System.out.println("大写字母个数:" + upcount);

        //3
        String str2 = "name=王五 age=18 classNum=1101";
        String[] str3 = str2.split("=");
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < str3.length; i++) {
            sb.append(str3[i]);
        }
        String str4 = sb.toString();
        String[] str5 = str4.split(" ");
        Student student = new Student(str5[0], str5[1], str5[2]);
        System.out.println(student.toString());

        //4
        StringBuffer sb1 = new StringBuffer();
        String str7 = "aabaaccdd";
        String str8 = str7;
        int num=str7.length();
        for (int i = 0; i < str7.length() + i; i++) {
            sb1.append(str7.charAt(0));
            int len = str7.length();
            str7 = str7.replaceAll(String.valueOf(str7.charAt(0)), "");
            int end = str7.length();
            int count1 = len - end;
            sb1.append(count1);
        }
        if(num>sb1.length()) {
            System.out.println(sb1.toString());
        }else {
            System.out.println(str8);
        }
    }
}
public class Student {
    private String name;
    private String age;
    private String classNum;

    public Student() {
    }

    public Student(String name, String age, String classNum) {
        this.name = name;
        this.age = age;
        this.classNum = classNum;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getClassNum() {
        return classNum;
    }

    public void setClassNum(String classNum) {
        this.classNum = classNum;
    }

    @Override
    public String toString() {
        return "Student{" + name + age+ classNum + '}';
    }
}

运行结果:

 


版权声明:本文为m0_63714232原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。