第五周总结&实验报告三

  • Post author:
  • Post category:其他



实验三 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+"次");         
    }
}

1581766-20190927163846831-331284450.png

(

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+"次数");
             }
        }

1581766-20190927164143966-145096322.png


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

1581766-20190927165336135-1660060803.png


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

1581766-20190927165526106-109074693.png


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

1581766-20190928184856482-1773989402.png


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

1581766-20190927165833342-1934983926.png


学习总结:



(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