- 实验目的
- 掌握类String类的使用;
- 学会使用JDK帮助文档;
- 实验内容
1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
- 统计该字符串中字母s出现的次数。
- 统计该字符串中子串“is”出现的次数。
- 统计该字符串中单词“is”出现的次数。
- 实现该字符串的倒序输出。
2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。
3.已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。
实验过程
1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码、结果截图。)
- 统计该字符串中字母s出现的次数。
(1)实验源码:
package Test; public class 实验三 { public static void main(String args[]) { String str=("this is a test of java"); int count=0; char str1[]=str.toCharArray(); for(int i=0;i<str1.length;i++) { if(str1[i]=='s') { count++; } } System.out.println("字母s出现的次数=" +count); } }
实验结果:
- 统计该字符串中子串“is”出现的次数。
(2)实验源码:
package Test; public class work { public static void main(String[] args) { int count=0,i=0; String str="this is a test of java"; int n=str.indexOf("is",i); while(n!=-1) { count++; i=n+1; n=str.indexOf("is",i); } System.out.println("字串is出现的次数=" +count); } }
实验结果:
- 统计该字符串中单词“is”出现的次数。
(3)实验源码
package Test; public class 单词is出现的次数 { public static void main(String[] args) { String str="this is a test of java"; int count=0; String str1[]=str.split(" "); for(String str11:str1) { if(str11.equals("is")) { count++; } } System.out.println("单词is出现的次数" +count); } }
实验结果
- 实现该字符串的倒序输出。
(4)实验源码:
package Test; public class 倒序输出 { public static void main(String[] args) { String str="this is a test of java"; char str1[]=str.toCharArray(); System.out.print("倒序输出为:" ); for(int i=str.length()-1;i>=0;i--) { System.out.print(str1[i]); } } }
实验结果:
2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。
第二题有点难,不会写。
3.已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。
实验源码:
package Test; public class 字符串 { public static void main(String[] args) { String str=("ddejidsEFALDFfnef2357 3ed"); int count1=0; int count2 = 0; int count3 = 0; char str1[]=str.toCharArray(); for(int i=0;i<str.length();i++) { if(str1[i]>='A'&&str1[i]<='Z') { count1++; } else if(str1[i]>='a'&&str1[i]<='z') { count2++; } else { count3++; } } System.out.println("大写字母数=" +count1); System.out.println("小写字母数=" +count2); System.out.println("非英文字母数=" +count3); } }
实验结果:
第五周课程总结
1.继承:一个子类只能继承一个父类,子类可以调用父类中的非私有方法,但不能直接访问父类中的私有成员。
2.super跟this不可同时使用。
this和super的区别
序号 | 区别点 | this | super |
1 | 属性访问 | 访问本类中的属性,如果本类没有此属性则从父类中继续查找 | 访问父类中的属性 |
2 | 方法 | 访问本类中的方法,如果本类中没有此方法,则从父类中继续查找 | 直接访问父类中的方法 |
3 | 调用构造 | 调用本类构造,必须放在构造方法的首行 | 调用父类构造,必须放在子类构造方法的首行 |
4 | 特殊 | 表示当前对象 | 无此概念 |
3.final关键字:(1)使用final声明的类不能有子类;
(2)使用final声明的方法不能被子类所覆盖;
(3)使用final声明的变量即成为常量,常量不可修改;
(4)在使用final声明变量的时候,要求全部的字母大写。
4. 方法的重载与覆写的区别
序号 | 区别点 | 重载 | 覆写 |
1 | 单词 | Overloading | Overriding |
2 | 定义 | 方法名称相同,参数的类型或个数不同 | 方法名称,参数的类型,返回值类型全部相同 |
3 | 定义 | 对权限没有要求 | 被覆写的方法不能拥有更严格的权限 |
4 | 范围 | 发生在一个类中 | 发生在继承类中 |
本周上课老师讲了很多,但是自己真正消化的还是很少,还是感觉自己的编程能力严重不足,只会做一些非常简单基础的编程题,稍微难一点的就不会了,像这次的第二个实验题就不会做,就没写,对我来说就感觉挺难的。希望自己继续加油吧,在学校总要学点东西,不能天天碌碌无为就这样过去了。