实验三 String类的应用

  • 实验目的
  • 掌握类String类的使用;
  • 学会使用JDK帮助文档;
  • 实验内容

1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)

  • 统计该字符串中字母s出现的次数。
  • 统计该字符串中子串“is”出现的次数。
  • 统计该字符串中单词“is”出现的次数。
  • 实现该字符串的倒序输出。

源代码

public class Joker {
    public static void main(String[] args) {
        String str="this is a test of java";

        int a=(str.split("s")).length-1;
        System.out.println("s出现的次数"+a);

        int b=(str.split("is")).length-1;
        System.out.println("is出现的次数"+b);

        int c=(str.split(" is")).length-1;
        System.out.println("单词is出现的次数"+c);

        StringBuffer str1=new StringBuffer(str).reverse();
        System.out.println(str1);
    }

}

运行结果

总结:查找s、is 、单词is都运用string的split()方法找到对应的字符进行拆分,拆分次数即对应字符出现的次数,字符串倒序输出利用StringBuffer()方法再new一个StringBuffer(str2)就行。

2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。

源代码

import java.util.*;
public class Min {
    public static void main(String args[]) {
    Scanner in= new Scanner(System.in);
    String str = in.nextLine();
    char c[] = str.toCharArray();
    for(int i = 0; i< c.length;i ++) {
         c[i] = (char) (c[i] + 3);
    }
    String str2 = new String(c);
    System.out.println(str2);
    in.close();
    }
}

 运行结果

总结:借鉴于https://www.cnblogs.com/xiao--liang/p/11598008.html博客代码,但是不理解Scanner类型,仔细查阅后,原来是eclipes版本不能导入Scanner。

3、已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。

源代码

public class Jiangmin {
    public static void main(String[] args) {
        String str="ddejidsEFALDFfnef2357 3ed";
        int a=0, b=0, c=0;
        for(int i=0;i<str.length();i++) {
            if(str.charAt(i)>=70&&str.charAt(i)<=95) {
                a++;
            }
            else if(str.charAt(i)>=70&&str.charAt(i)<=100) {
                b++;
            }
            else
                c++;
        }
        System.out.println("大写字母数:"+a);
        System.out.println("小写英文字母数:"+b);
        System.out.println("非英文字母数:"+c);
    }

}

 运行结果

总结:大写和小写字母在阿斯克码值里有属于自己的范围,这样就可以很简单的找到字符串里的大小写字符数了。

学习总结

1、继承可以扩充已有类的功能。通过extend关键字实现,可将父类的成员(包含数据成员与方法)继承到父类。

2、Java在执行子类的构造方法之前,会先会调用父类中无参的构造方法,其目的是为了对继承自父类的成员做初始化的操作。

3、父类有多个构造方法时,如要调用特定的构造方法,则可在子类的构造方法中,通过super()这个关键字来完成。

4、重载,它是指在相同类内,定义名称相同,但参数个数与类型均与类型不同的方法,因此Java便可依据参数的个数或类型调用相应的方法。

5、覆写,它是在子类当中,定义名称、参数个数与类型均与父类相同的方法,用以覆写父类里的方法。

6、如果父类的方法不希望被子类覆写,可在父类的方法之前加上final关键字,如此该方法便不会被覆写。

02-14 01:23