第五周课程总结及实验报告

实验三 String类的应用

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

实验内容

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

统计该字符串中字母s出现的次数。

1.1实验代码
package text4;

public class Text41 {

    public static void main(String[] args) {
        String str=new String("this is a test of java");
        int i,count=0;
        char a[]=new char[20];
        a=str.toCharArray();
        for(i=0;i<a.length;i++) {
            if(a[i]=='s') {
                count++;
            }
        }
        System.out.println(count);

    }

}
运行截图

1581309-20190919115016384-980939684.png

统计该字符串中子串“is”出现的次数。

1.2实验代码
package text4;

public class Text4 {

    public static void main(String[] args) {
        String str=new String("this is a test of java");
        int count=0,a=0;
        while(str.indexOf("is",a)!=-1) {
            count++;
            a=str.indexOf("is",a)+2;
        }
        System.out.println(count);

    }

}
运行截图

1581309-20190919122619474-1189611981.png

统计该字符串中单词“is”出现的次数。

1.3实验代码
package text4;

public class Text4 {

    public static void main(String[] args) {
        String str=new String("this is a test of java");
        int count=0,i;
        String str1[]=str.split(" ");
        for(i=0;i<str1.length;i++) {
            if(str1[i].equals("is")==true) {
                count++;
            }
        }
        System.out.println(count);

    }

}
运行截图

1581309-20190919125503505-294686683.png

实现该字符串的倒序输出。

实验代码
package text4;

public class Text4 {

    public static void main(String[] args) {
        String str=new String("this is a test of java");
        int a=str.length();
        int i;
        char b[]=new char[a];
        b=str.toCharArray();
        for(i=a-1;i>=0;i--) {
            System.out.print(b[i]);
        }
        
    }

}
运行截图

1581309-20190919133937776-2063142569.png

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

2.实验代码
package text4;

import java.util.Scanner;

public class Text4 {

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.print("输入一个字符串:");
        String str=sc.nextLine();
        char a[]=new char[str.length()];
        char b[]=new char[str.length()];
        a=str.toCharArray();
        int i;
        for(i=0;i<str.length();i++) {
            if(a[i]>='a'&&a[i]<='z') {
                if(a[i]=='x') {
                    b[i]='a';
                }
                if(a[i]=='y') {
                    b[i]='b';
                }
                if(a[i]=='z') {
                    b[i]='c';
                }
                if(a[i]>='a'&&a[i]<'x') {
                    b[i]=(char) (a[i]+3);
                }
            }
            if(a[i]>='A'&&a[i]<='Z') {
                if(a[i]=='X') {
                    b[i]='A';
                }
                if(a[i]=='Y') {
                    b[i]='B';
                }
                if(a[i]=='Z') {
                    b[i]='C';
                }
                if(a[i]>='A'&&a[i]<'X') {
                    b[i]=(char) (a[i]+3);
                }
            }
        }
        String str2=new String(b);
        System.out.print("加密后的密码:");
        System.out.println(str2);
        sc.close();
        
    }

}
运行截图

1581309-20190925201347717-1826046953.png

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

3.实验代码
package text4;

public class Text43 {

    public static void main(String[] args) {
        String str="ddejidsEFALDFfnef2357 3ed";
        char a[]=new char[str.length()];
        a=str.toCharArray();
        int i;
        int shuzi=0,da=0,xiao=0;
        for(i=0;i<str.length();i++) {
            if(a[i]<='9'&&a[i]>='0'||a[i]==' ') {
                shuzi++;
            }
            if(a[i]<='z'&&a[i]>='a') {
                xiao++;
            }
            if(a[i]<='Z'&&a[i]>='A') {
                da++;
            }
        }
        System.out.println("非英文字母数:"+shuzi);
        System.out.println("小写字母:"+xiao);
        System.out.println("大写字母:"+da);
    }

}
运行截图

1581309-20190919142049291-86493018.png

总的来说呢,这次的实验题目做起来还算顺手,主要就是调用了一些string的函数。

课程总结

一:学习了Java的另一特性继承性

1)继承格式

class 父类{}
class 子类 extends{}

2)可以通过子类扩展父类
3)只允许多层继承,不允许多重继承。
4)子类不能直接访问父类中的私有操作,但可以通过get方法访问。
5)子类构造方法中的super()。一般写类的时候要构造一个空方法,因为一般子类对象实例化之前会先默认调用父类中的构造方法,如果父类中没有构造方法,就会默认调用一个空的构造方法。 super()就是调用父类构造方法的语句。

二:方法的覆写和重载

覆写:就是指子类中定义了与父类中同名的方法,但是要考虑权限,被子类覆写的方法不能拥有比父类方法更严格的访问权限,例如:父类(private)<=子类(private||public)。
重载:同一个类中相同名称不同参数的方法。

三、final关键字(表示的意思是最终的意思,也可以称为完结器)

1)使用final声明的类不能有子类
2)使用final声明的方法不能被子类所覆写
3)使用final声明的变量级成为常量,常量不可以修改

四、抽象类

1)包含一个抽象方法的类必须是抽象类。抽象方法如下:

访问权限 abstract 返回值类型 方法名称(参数);

2)抽象类和抽象方法都要使用abstract关键字声明
3)抽象方法只需声明而不需要实现
4)抽象类必须被子类继承,子类(如果不是抽象类)必须填写抽象类中的全部抽象方法

五、对象的多态性

1)向上转型:子类对象→父类对象(自动转换)
2)向下转型:父类对象→子类对象(强制转换)

转载于:https://www.cnblogs.com/H-Alice/p/11549238.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值