第五周课程总结&实验报告(三)
实验三 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关键字,如此该方法便不会被覆写。