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

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

实验三 String类的应用

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

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

统计该字符串中字母s出现的次数。
统计该字符串中子串“is”出现的次数。
统计该字符串中单词“is”出现的次数。
实现该字符串的倒序输出。

2.请编写一个程序,使用下述算法加密或解密用户输入的英文字串。要求源代码、结果截图。
3.已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。
1.实验源码
public class new2{

    public static void main(String[] args) {
       String str = "this is a test of java";
       int i = 0;
       int q = 0;
       for(i = 0;i < str.length();i++) {     //利用for循环统计字符串总长度
           char a = str.charAt(i);
           if(a == 's') {
           q++;
       }
    }
       System.out.println("s出现的次数为:" +q);
       int b = str.indexOf("is");
       System.out.println("子串is出现的次数为:"+b);    
       int e = (str.split(" is ")).length-1;
       System.out.println("单词is出现的次数为:"+e);     //split函数
       StringBuffer r = new StringBuffer ("this is a test of java");   
       System.out.println("字符串的倒序输出:"+r.reverse());   
}
}
实验结果1581277-20190927230949343-1680156146.jpg
2.实验源码
import java.util.*;
public class new2{

    public static void main(String[] args) {
         System.out.println("输入英文字符串:");
            Scanner ad=new Scanner(System.in); 
            String str=ad.next();//读取字符串
            char t[]= str.toCharArray();
            System.out.println("加密后结果:");
            for(char r:t) {
                System.out.print((char)(r+3));
         }
     }
}

实验结果1581277-20190927231056903-40258056.jpg
3.实验源码
public class new2 {

    public static void main(String[] args) {
         String str="ddejidsEFALDFfnef2357 3ed";
            
            char a[]=str.toCharArray();
            int x=0,y=0,z=0;
            for(int i=0;i<a.length;i++){
                if(a[i]>='A'&&a[i]<='Z'){
                    x++;//计算大写字母数量
                }
                else if(a[i]>='a'&&a[i]<='z'){
                    y++;//计算小写字母数量
                }
                else {
                    z++;//计算除开英文字母其他内容数量
                }
            }
            System.out.println("大写字母数:"+x);
            System.out.println("小写字母数:"+y);
            System.out.println("非英文字母数:"+z);

    }

}
实验结果1581277-20190927230637166-841911949.jpg

第五周总结

1. 既然this和super都可以调用构造方法,那么两者是不可以同时出现的,因为两者调用构造的时候都必须放在构造方法的首行,另外,需要注意的是,无论子类怎样操作,最终都是要先调用父类中的构造方法。
2.抽象类的定义及使用规则如下:

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

3.实际上在一个抽象 类中是允许存在构造方法的,因为抽象类依然使用的是类的继承关系,而且抽象类中也存在各个属性,所以子类在实例化之前肯定是先要对父类进行实例化的。
4.1581277-20190927221820992-627759780.jpg1581277-20190927230640313-2065127795.jpg

1581277-20190927230648341-1632016730.jpg

转载于:https://www.cnblogs.com/9557yxl/p/11599898.html

#include<iostream> using namespace std; class CShape{ public:float Area; float Perimeter; CShape() { Area=0;Perimeter=0; } virtual void GetArea(){} virtual void GetPerimeter(){} }; class CRectangle:public CShape{ private: int l;int h; public: CRectangle(int h,int l ):CShape() {this->h=h;this->l=l; } void GetArea() {Area=l*h;cout<<"矩形的面积="<<Area<<endl;} void GetPerimeter() {Perimeter=(l+h)*2;cout<<"矩形的长="<<Perimeter<<endl; } }; class CCirle:public CShape{ private:float r; public:CCirle(float r):CShape() {this->r=r; } void GetArea() { Area=3.14159*r*r; cout<<"圆的面积="<<Area<<endl; } void GetPerimeter() { Perimeter=r*3.14159*2; cout<<"圆的长="<<Perimeter<<endl; } }; class CSquare:public CShape{ private: int a; public: CSquare(int a):CShape() { this->a=a; } void GetArea() { Area=a*a; cout<<"正方形面积="<<Area<<endl; } void GetPerimeter() { Perimeter=4*a; } }; class CTrapeziod:public CShape{ private: int lu; int ld; int h; public: CTrapeziod(int lu,int ld,int h):CShape() { this->lu=lu; this->ld=ld; this->h=h; } void GetArea() { Area=(lu+ld)*h/2; cout<<"梯形面积="<<Area<<endl; } }; class CTrangle:public CShape{ private: int d; int h; public: CTrangle(int d,int h):CShape() { this->d=d; this->h=h; } void GetArea() { Area=d*h/2; cout<<"三角形的面积="<<Area<<endl; } }; void main() { CShape *p[5]; CRectangle CR(5,10); CCirle CC(3); CSquare CS(4); CTrapeziod CT1(2,5,4); CTrangle CT2(6,2); p[0]=&CR; p[0]->GetArea(); p[1]=&CC; p[1]->GetArea(); p[2]=&CS; p[2]->GetArea(); p[3]=&CT1; p[3]->GetArea(); p[4]=&CT2; p[4]->GetArea(); int i, double SumArea=0.f; for(i=0;i<5;i++) { SumArea=p[i]->Area+SumArea; } cout<<"面积总和="<<SumArea<<endl; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值