zoukankan      html  css  js  c++  java
  • 第五周课程总结&试验报告(三)

    实验三 String类的应用

    一、实验目的

    (1) 掌握类String类的使用;

    (2) 学会使用JDK帮助文档;

    二、实验内容

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

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

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

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

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

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

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

    1.实验源码

    package test;
    
    public class 实验三1 {
    
    public static void main(String[] args) {
    		String s="this is a test of java";
    		text pr=new text();
    		pr.s出现的次数(s);
    		pr.子串is出现的次数(s);
    		pr.单词is出现的次数(s);
    		pr.倒序输出(s);
    	}
    }
    
    class text {
    public void s出现的次数(String n){
    	int count=0;
    		char ss[]=n.toCharArray();//将字符串变为字符数组
    		for(int i=0;i<ss.length;i++)
    			if(ss[i]=='s')
    				count++;
    		System.out.println("s出现的次数="+count);
    }
    public void 单词is出现的次数(String n){
    	int count=0;
    	String ss[]=n.split(" ");//按空格将字符串拆分
    	for(String e:ss)
    	{
    		if(e.equals("is")) {
    			count++;
    		}
    	}
    	System.out.println("单词is出现的次数="+count);
    }
    
    public void 子串is出现的次数(String n) {
    	int count =0,i=0;
    	int m=n.indexOf("is",i);//从零开始寻找字符串is
    	while(m!=-1) {
    		count++;//找到后计数加一
    		i=m+1;
    		m=n.indexOf("is",i);//从找到的位置的后一位继续寻找
    	}
    	System.out.println("子串is出现的次数="+count);
    }
    
    public void 倒序输出(String n) {
    	char c[]=n.toCharArray();
    	System.out.print("倒序输出的结果为:");
    	for(int i=n.length()-1;i>=0;i--)
    	{
    		System.out.print(c[i]);
    	}
    }
    }
    

    实验结果

    2.实验源码

    package test;
    import java.util.Scanner;
    public class 实验三2 {
    
    public static void main(String[] args) {
    	Scanner s=new Scanner(System.in);
    	String c=s.nextLine();
    	int j=0;
    	char[] n=c.toCharArray();
    	char[] m=new char[100];//定义新数组
    	for(int i=n.length-3;i<n.length;i++)
    	{
    		m[j]=n[i];//将数组的最后三位存储到新数组中
    		j++;
    	} 
    	for(int i=0;i<n.length-3;i++)
    	{
    		m[j]=n[i];//将除最后三位的其他数一次存储到新数组中实现数组循环
    		j++;
    	}
    	System.out.print(m);//输出新数组
    }
    
    }
    

    实验结果

    3.实验源码

    package test;
    
    public class 实验三3 {
    
    public static void main(String[] args) {
    	int i;
    	int a=0,b=0,c=0;
    	String ss="ddejidsEFALDFfnef2357 3ed";
    	char s[]=ss.toCharArray();//将ss转化为字符数组
    	for(i=0;i<s.length;i++)
    	{
    		if(s[i]<='Z'&&s[i]>='A')
    			a++;
    		else if(s[i]<='z'&&s[i]>'a')
    			b++;
    		else
    			c++;
    	}
    	System.out.println("大写字母数="+a);
    	System.out.println("小写字母数="+b);
    	System.out.println("非英文字母数="+a);
    }
    }
    

    实验结果

    课程总结

    1.继承

    类的继承格式

    class 父类{}
    class 子类 extends 父类{}
    

    通过继承,可以将父类的内容保留在子类中,子类也可以定义自己的属性或方法

    class Person{
    private String name;
    private int age;
    public String getName() {
    	return name;
    }
    public void setName(String name) {
    	this.name = name;
    }
    public int getAge() {
    	return age;
    }
    public void setAge(int age) {
    	this.age = age;
    }
    }
    class Student extends Person{
    private  String school;
    public String getSchool() {
    	return school;
    }
    public void setSchool(String school) {
    	this.school = school;
    }
    }
    

    在Java中,一个子类只能继承一个父类,一个父类还可以有一个父类。

    :子类是不能直接访问父类中的私有成员,但子类可以调用父类中的非私有方法,但是不能直接调用父类中的私有成员。

    子类对象在实例化之前会默认调用父类中的构造方法。所以在实例化子类对象之前需要先将父类中的属性进行初始化。

    2.方法的覆写

    方法的覆写是指子类定义了与父类中同名的方法,但是在方法覆写时必须考虑到权限,即被子类覆写的方法不能拥有父类方法更加严格的访问权限。

    权限大小:private<defaut<public

    方法的重载与覆写的区别

    序号 区别点 重载 覆写
    1 单词 Overloadig Overriding
    2 定义 方法名称相同,参数的类型或个数不同 方法名称、参数类型、返回值类型全部相同
    3 对权限没有要求 被覆写的方法不能拥有更严格的权限
    4 范围 发生在一个类中 发生在继承类中

    3.super关键字

    1).使用super可以从子类中调用父类中的构造方法、普通方法、属性
    2).super语句必须放在子类构造方法的首行,因此与this不能同时出现
    3).在主方法中不能使用this和super方法

    4.final关键字

    1).使用final声明的类不能有子类
    2).使用final声明的方法不能被子类所覆写
    3).使用final声明的变量即为常量,不可修改
    4).使用final声明变量时,要求全部的字母大写

  • 相关阅读:
    css页面自适应 媒体查询
    微信小程序rich-text中的nodes属性
    解析base64数据流---加载pdf
    用伪元素完成箭头
    搭建vue --2.x
    搭建Vue项目 vue-cli vue1.x
    Chrome----TCP
    单进程VS多进程
    线程VS进程
    Chrome---network模块---Timing
  • 原文地址:https://www.cnblogs.com/jk-liulei/p/11579663.html
Copyright © 2011-2022 走看看