第五周总结&实验报告三

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

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

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

package Zuoye;
class Is {
    public static void main(String[] args) {
        String str = "this is a test of java";
        int sum=0;
        char c[]=str.toCharArray();
        for(int i=0;i<c.length;i++){
            if(c[i]=='s')
                sum++;         
         }
        System.out.println("s出现"+sum+"次");         
    }
}

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

package Zuoye;
class Is {
    public static void main(String[] args) {
        String str = "this is a test of java";
                int sum=0;
                char[]a=str.toCharArray();
           for(int i=0;i<a.length;i++) {
                    if(a[i]=='i') {
                        if(a[i+1]=='s') 
                            sum++;
                          }
                  }
                System.out.println("字符is出现:"+sum+"次数");
             }
        }

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

package Zuoye;
class Is {
    public static void main(String[] args) {
        String str = "this is a test of java";
                int sum=0;
                char a[]=str.toCharArray();
                for(int i=0;i<a.length;i++) {
                    if(a[i]==' '&&a[i+1]=='i'&&a[i+2]=='s'&&a[i+3]==' ') {
                            sum++;
                    }
                }
                System.out.println("单词is出现:"+sum+"次");
            }
        }

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

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

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

package Zuoye;
import java.util.Scanner;
public class Is {
   public static void main(String[] args) {
   	        System.out.println("输入密码:");
   	        Scanner sc=new Scanner(System.in);
   	        String str = sc.next();
   	        char a[]= str.toCharArray();
   	        char b[] = new char[8] ;
   	        int n=0;
   	        for(int i = a.length-4;i<a.length;i++) {
   	            b[n]=a[i];
   	                n++;
   	        }
   	        for(int j=0;j<a.length-4;j++) {
   	            b[n]=a[j];
   	                n++;
   	        }
   	           System.out.println("加密结果:");
   	           System.out.println(b);
   	    }
}

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

package Zuoye;
public class Is {
      public static void main(String[] args) {
        String str="ddejidsEFALDFfnef2357 3ed";
        int b=0,c=0,d=0;
        char a[]=str.toCharArray();
        for(int i=0;i<str.length();i++){
            if(a[i]>='A'&&a[i]<='Z') {
                b++;
            }
            else if(a[i]>='a'&&a[i]<='z') {
                c++;
            } else {
                d++;
            }
        }
        System.out.println("大写字母个数: "+b+",小写字母个数 "+c+",其他 "+d);
    }
}


学习总结:
(1)学习了继承的基本概念
只允许多层继承不能多重继承,一个子类只能继承一个父类。
继承的关键字extends;
子类不能直接访问父类中的私有成员,可以通过setter,getter间接访问;
(2)方法的复写
访问权限大小关系 private<default<public;
子类和父类声明相同的属性,子类中直接访问的时候采用“就近原则’;
方法的重载:方法名称一样,参数的个数、类型和顺序不一样,发生在同一个类中;
方法的覆写:方法名称一样,参数的类型一样,返回值类型一样,访问权限要大于或者等于父类方法的极限,发生在继承类中。
(3)final,super关键字的使用;
使用final声明的类不能有子类。
使用final声明的方法不能被子类所覆写。
使用final声明的变量即成为常量,不可被修改;final声明变量要求全部字母大写。
super语句必须放在子类构造方法首行,与this不可同用。
(4)抽象类的概念
抽象类和抽象方法都要使用abstract关键字声明。
(5)对象的多态性
向上转型:子类--->父类(自动)
向下转型:父类--->子类(强制)
进行向下转型之前,必须首先发生对象向上转型。

原文地址:https://www.cnblogs.com/1211li/p/11599378.html