第五周课程总结&试验报告(三)

Java实验报告

班级 计科二班 学号 20188423 姓名 邹健

完成时间 2019.9.27

评分等级

实验三 String类的应用

一、实验目的

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

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

二、实验内容

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

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

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

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

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

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

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

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

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

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

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

④ 实现该字符串的倒序输出
实验代码

package First;

public class Demo31 {

    public static void main(String[] args) {
         int a=0,b=0,l=0;
            String str="this is a test of java";
            char[] c=str.toCharArray();
            for(int i=0;i<c.length;i++){
                if(c[i]=='s'){
                    a++;
                }
                if(c[i]=='i'&&c[i+1]=='s'){
                    b++;
                    
                if(c[i-1]==' '&&c[i+2]==' '){
                        l++;
                    }
                }
            }
            System.out.println("s个数:"+a);
            System.out.println("is次数:"+b);
            System.out.println("单词is次数:"+l);
            
            System.out.print("倒序输出:");
            for(int i=c.length-1;i>=0;i--){
                System.out.print(c[i]);

    }

}
}


实验结果
1581815-20190927172027487-1614141940.png

(二)请编写一个程序,使用下述算法加密或解密用户输入的英文字串
实验代码:

package First;
import java.util.Scanner;
public class Demo32 {

    public static void main(String[] args) {        
           System.out.println("输入一个字符串");
            Scanner sc=new Scanner(System.in);
            String  s=sc.nextLine();
            char x[]=s.toCharArray();//数据输入并转换为数组
            char y[]=new char [x.length];
            int i=0,k=0;
            if (x.length==1 ||x.length==2 ) {
                System.out.println("请输入三位及以上字符");
            }
            else {
            for(i=x.length-3;i<x.length;i++) {
                y[k]=x[i];
                k++;
            }
            for(i=0;i<x.length-3;i++) {
                y[k]=x[i];
                k++;
            }//将密码后移
            System.out.println("加密的密码为");
            System.out.println(y);
        }
        
     }
     }

实验结果
1581815-20190927175941480-1829790256.png

(三).已知字符串“ddejidsEFALDFfnef2357 3ed”。输出字符串里的大写字母数,小写英文字母数,非英文字母数。
实验代码

package First;

public class Demo33 {

    public static void main(String[] args) {
                 String str = "ddejidsEFALDEfnef2357 3ed";
            char c[] = str.toCharArray();//将字符串转换为数组
            int x = 0, y = 0, z = 0;
            for(int i = 0;i < c.length;i ++) {
                if((int)c[i] >= 65 & (int)c[i] <= 90) 
                x++;
                if((int)c[i] >= 97 & (int)c[i] <= 122) {
                    y++;
                }
                
                if((int)c[i] < 65 || (int)c[i] > 90 & (int)c[i] < 97 || (int)c[i] > 122) {
                    z++;
                }
            }
            System.out.println("大写字母数:"+x);
            System.out.println("小写字母数:"+y);
            System.out.println("非英文字数:"+z);
        }

    
    }

实验结果
1581815-20190927181155521-1092789145.png

学习总结:
本周学习了对象的多态性
1)向上转型:子类对象→父类对象(自动转换)
2)向下转型:父类对象→子类对象(强制转换)

final关键字(表示的意思是最终的意思,也可以称为完结器)
1)使用final声明的类不能有子类
2)使用final声明的方法不能被子类所覆写
3)使用final声明的变量级成为常量,常量不可以修改

继承:在Java类中只允许单一继承,即一个子类只可以继承一个父类,允许进行多层继承,即一个子类可以有一个父类,一个父类还可以有一个父类,且子类将继承父类的非私有属性和方法,但父类与子类只能一对一,即一个父类下面只有一个子类,但是那个子类可以作为父类进行下一次的继承。

方法的重载与复写:在重载中,方法名称相同,参数的类型或者个数不同,而覆盖都是相同的。覆盖只有发生在父类与子类之间,而重载可以发生在同一类中。
main方法不能使用this与super
继承中super 可以调用父类的构造方法(非私有),调用父类的属性及其方法,this和super不能同时出现在一个构造函数里面,因为this必然会调用其它的构造函数,其它的构造函数必然也会有super语句的存在,所以在同一个构造函数里面有相同的语句,就失去了语句的意义,编译器也不会通过。
this()和super()都指的是对象,所以,均不可以在static环境中使用。包括:static变量,static方法,static语句块。

转载于:https://www.cnblogs.com/ZJ999999/p/11599640.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值