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

实验三 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);

	}

}

运行截图

统计该字符串中子串“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);

	}

}

运行截图

统计该字符串中单词“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);

	}

}

运行截图

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

实验代码

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]);
		}
		
	}

}

运行截图

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();
		
	}

}

运行截图

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);
	}

}

运行截图

总的来说呢,这次的实验题目做起来还算顺手,主要就是调用了一些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)向下转型:父类对象→子类对象(强制转换)

加密

import java.util.Scanner;
public class Test532 {
   public static void main(String[] args) {
               Scanner s=new Scanner(System.in);
               String str = s.next();
               char a[]= str.toCharArray();
               char b[] = new char[10] ;
               int n=0;
               for(int i = a.length-3;i<a.length;i++) {
                   b[n]=a[i];
                       n++;
               }
               for(int j=0;j<a.length-3;j++) {
                   b[n]=a[j];
                       n++;
               }
                  System.out.println(b);
           }
}

posted @ 2019-09-27 15:07  H-Alice  阅读(230)  评论(2编辑  收藏  举报