实验三 String类的应用

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

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

  • 统计该字符串中字母s出现的次数。
  • 代码:
  • public class Wrold{
    public static void main(String[] args) {
    String str="this is a test of java";
    int count=0;
    for(int i=0;i<str.length();i++) {
    if(str.charAt(i)=='s')
    count++;
    }
    System.out.println("字符串里面“s”出现的次数:"+count);
    }
    }

    截图:

  • 统计该字符串中子串“is”出现的次数。
  • 代码:
    public class Wrold{
    public static void main(String[] args) {
    String str="this is a test of java";
    int count=0;
    for(int i=0;i<str.length();i++) {
    if(str.charAt(i)=='i'&&str.charAt(i+1)=='s')
    count++;
    }
    System.out.println("字符串中子串“is”出现的次数:"+count);
    }
    }

    截图:

  • 统计该字符串中单词“is”出现的次数。
  • 代码:
    public class Wrold{
    public static void main(String[] args) {
    String str="this is a test of java";
    String s[]=str.split(" ");
    int count=0;
    for(int i=0;i<s.length;i++) {
    if(s[i].equals("is"))
    count++;
    }
    System.out.println("该字符串中单词“is”出现的次数:"+count);
    }
    }

    截图:

  • 实现该字符串的倒序输出。
  • 代码:
    public class Wrold{
    public static void main(String[] args) {
    StringBuffer n=new StringBuffer();
    n.append("this is a test of java");
    String str=n.reverse().toString();
    System.out.println(str);
    }
    }

    截图:

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

代码:

public class Wrold{
public static void main(String[] args){
String str="123456";
Scanner sc=new Scanner(System.in);
String str=sc.nextLine();
char m[]=str.toCharArray();
char n[]=new char[50];int j=0;
for(int i = m.length-3;i<m.length;i++) {
n[j]=m[i];
j++;
}
for(int i=0;i<m.length-3;i++){
n[j]=m[i];
j++;
}
System.out.print(n); }
}

截图:

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

代码:

public class Wrold{
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);
} }

截图:

学习总结:本次实验第一部分主要是运用string类,老师在上课的时候大部分都讲了,我也拍了图。第二题,运行不出来,程序我觉得应该没有问题

this与super关键字的区别:

this:当前对象

super:直接父类对象

this():当前类的无参构造方法,也可以指定有参的如:this(a)

super():直接父类的无参构造方法,也可以指定有参的如:super(a)

注意:1,当在方法内调用一个变量b,编译器会向上遍历,直到找到最近的一个引用变量为止:b—>this.b—>super.b,如果未找到,编译器将显式提                   示错误信息;

2,当变量b的定义只发生在父类时,此时  b=this.b=super.b;

3,当局部变量b覆盖成员变量b时,使用this.b调用成员变量,此时的成员变量包括子类新增和继承的变量,不包含隐藏变量;

4,当子类成员变量b覆盖父类成员变量b时,使用super.b调用这个被隐藏的成员变量;

5,当子类重写了父类方法method(),可以使用super.method()来调用父类被隐藏的方法;

6,super()与this()具备硬性使用条件,否则编译无法通过——Constructor call must be the first statement in a constructor.即

二者出现的位置必须是构造方法的第一行。

继承:Java中类只允许单一继承。

重载与覆盖:

书上169页.

第五周实验报告&学习总结的更多相关文章

  1. 第五次实验报告&学习总结

    一.实验目的 (1) 理解抽象类与接口的使用; (2)了 解包的作用,掌握包的设计方法. 二.实验要求 (1)掌 握使用抽象类的方法. (2)掌 握使用系统接口的技术和创建自定义接口的方法. (3) ...

  2. 20145330《Java程序设计》第五次实验报告

    20145330<Java程序设计>第五次实验报告 实验五 Java网络编程及安全 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统 4.结队伙伴 ...

  3. 20145320《Java程序设计》第五次实验报告

    20145320<Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.05.06 18: ...

  4. 20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计

    20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 ...

  5. 20135302魏静静——linux课程第五周实验及总结

    linux课程第五周实验及总结 一.学习总结 给MenuOS增加time和time-asm命令(四步操作命令) rm menu -rf 强制删除git clone http://github.com/ ...

  6. 20145240 《Java程序设计》第五次实验报告

    20145240 <Java程序设计>第五次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.05.06 实验 ...

  7. 20145330第五周《Java学习笔记》

    20145330第五周<Java学习笔记> 这一周又是紧张的一周. 语法与继承架构 Java中所有错误都会打包为对象可以尝试try.catch代表错误的对象后做一些处理. 使用try.ca ...

  8. Java第五次实验报告

    Java第五次实验报告 实验一 实验内容 两人一组结对编程: 参考 结对实现中缀表达式转后缀表达式的功能 MyBC.java 结对实现从上面功能中获取的表达式中实现后缀表达式求值的功能,调用MyDC. ...

  9. 实验楼课程管理程序-深入学习《C++ Primer第五版》实验报告&学习笔记1

    本片博客为实验楼的训练营课程深入学习<C++ Primer第五版>的实验报告和学习笔记. 原课程地址为:https://www.shiyanlou.com/courses/405# 原文出 ...

随机推荐

  1. 【HDU4003】Find Metal Mineral

    题目大意:给定一棵 N 个节点的有根树,边有边权,在根结点处有 K 个人,这些人会遍历树上的所有边,求如何遍历才能使得所有人走过路径的边权和最小. 题解: 引理:对于一棵子树来说,若存在 M>0 ...

  2. DevExpress WPF v19.1新版亮点:Data Editors等控件新功能

    行业领先的.NET界面控件DevExpress 日前正式发布v19.1版本,本站将以连载的形式介绍各版本新增内容.在本系列文章中将为大家介绍DevExpress WPFv19.1中新增的一些控件及部分 ...

  3. 【转】js监听浏览器离开页面操作

    [转]https://www.cnblogs.com/slly/p/7991474.html 序言 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统.信息录 ...

  4. Python 3标准库课件第二章

    整理第一章我又觉得烦,我就看第二章了,灰头土脸的,第二章一.如列表(list).元组(tuple).字典(dict).集合(set)二.2.1 enum:枚举类型 enum模块定义了一个提供迭代和比较 ...

  5. MySQL报错:Cause: java.sql.SQLException: Incorrect string value: '\xE6\x9D\xA8","...' for column 'obj_value' at row 1

    1.插入MySQL表时,报错:Cause: java.sql.SQLException: Incorrect string value: '\xE6\x9D\xA8","...' ...

  6. GO语言学习笔记2-int类型的取值范围

    相比于C/C++语言的int类型,GO语言提供了多种int类型可供选择,有int8.int16.int32.int64.int.uint8.uint16.uint32.uint64.uint. 1.i ...

  7. js 中使用typeof

    >typeof(null) <"object" 对null执行typeof预算,结果返回字符串'object',也就是说,可以将null认为是一个特殊的对象值,含义是“ ...

  8. pd.read_csv参数解析

    对pd.read_csv参数做如下解释: pandas.read_csv(filepath_or_buffer, sep=', ', delimiter=None, header='infer', n ...

  9. PCL智能指针疑云 <一>

    背景: 最近写了一个包,使用ndt算法拼接点云,构建三维壁面环境的点云地图. 设计一个lidar类,表征激光雷达.可以获取点云数据并存储到容器 std::vector<PointCloudPtr ...

  10. JAVA语言动手动脑问题

    1. 早期经常这样定义变量  int value=100;前面的示例中这样定义变量  MyClass obj = new MyClass(); 这两种方式定义的变量是一样的吗?   答:不一样,后者开 ...