实验三 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. 第五周学习总结&第三次实验报告(String类的应用)

    第五周学习总结 1.学习了继承的相关知识点: (1) 继承的格式为class 子类 extends 父类{} (2) 继承实际上是通过子类去扩展父类的功能 (3) 一个子类只能继承一个父类,也就是说, ...

  2. 20155217 《Java程序设计》第三次实验报告

    20155217 <Java程序设计>第三次实验报告 实验内容 XP基础 XP核心实践 相关工具 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)>&l ...

  3. 20145335《java程序设计》第三次实验报告

    20145335郝昊<java程序设计>第三次实验报告 实验目的与要求 以结对编程的方式编写一个软件,Blog中要给出结对同学的Blog网址,可以拍照展现结对编程 情况,可以参考一下其他学 ...

  4. 20145240 《Java程序设计》第三次实验报告

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

  5. 20145320《Java程序设计》第三次实验报告

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

  6. 第三次实验报告 敏捷开发与XP实践

    一.  实验内容 (一)敏捷开发与XP 摘要:一项实践在XP环境中成功使用的依据通过XP的法则呈现,包括:快速反馈.假设简单性.递增更改.提倡更改.优质工作.XP软件开发的基石是XP的活动,包括:编码 ...

  7. 20145309java第三次实验报告

    实验三 敏捷开发与XP实践 实验内容 •下载并学会使用git上传代码: •与同学结对,相互下载并更改对方代码,并上传: •实现代码的重载. 实验步骤 下载并用git上传代码: •1.下载并安装好git ...

  8. 第一次实验报告&学习总结

    实验报告一&学习总结 一.实验目的 熟悉JDK开发环境 熟练掌握结构化程序设计方法 二.实验内容 打印输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其中各位数字立方和等于该数本身.例 ...

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

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

随机推荐

  1. 配置文件加载位置与多profile文件

    一. 我们在编写配置文件时,文件名可以是: application-{profile}.properties 例如:我们有几个配置文件对应的是项目不同时期的配置文件 1.application-sit ...

  2. 【HDU4003】Find Metal Mineral

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

  3. Linux系统中的硬件问题如何排查?(2)

    Linux系统中的硬件问题如何排查?(2) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...

  4. Type.GetType反射的对象创建Activator.CreateInstance

    /// <summary> /// 获取对应类的实现 /// </summary> /// <param name="libname">< ...

  5. js对对象增加删除属性

    1.首选创建一个对象 var a={}; 2.然后对这个对象赋值 a.name='zhouy';console.log(a);var age="age";a[age]=26;con ...

  6. MTBF测试

    本文转载自:https://blog.csdn.net/liuhaoemail/article/details/50531489 MTBF测试 目前,终端侧的可靠性测试基本上是采用称为”MTBF测试” ...

  7. CSS布局之flexbox

    参考链接: https://www.cnblogs.com/qingchunshiguang/p/8011103.html 练习代码 <!DOCTYPE html> <html la ...

  8. 安装npm install时,长时间停留在fetchMetadata: sill

    更换仓库地址:npm config set registry https://registry.npm.taobao.org 查询当前仓库地址:npm config get registry 或 np ...

  9. SQL基础测试

    SQL 测验 结果:20/20 您的回答: 1.SQL 指的是? 您的回答:Structured Query Language 2.哪个 SQL 语句用于从数据库中提取数据? 您的回答:SELECT ...

  10. javaweb上传大文件的问题

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...