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

第五周总结:
1.本周学习了继承。学习了类的继承格式。class 父类{}、class 子类 extends 父类{}。还有一个子类只能继承一个父类,一个父类还可以有一个父类。即老师讲的动物狗的例子。
2.学习了final关键字。使用final声明的类不能有子类、使用final声明的方法不能被子类所覆写、使用final声明的变量即成常量,常量不可修改。
3.this和super的区别。属性访问上this是访问本类中的属性如果本类中没有此属性,则从父类中继续查找。super只是访问父类中的属性。调用结构this调用本类构造。super调用父类构造,必须放在子类构造方法首行。方法上this访问本类中的属性如果本类中没有此方法,则从父类中继续查找。super直接访问父类中的方法。
4.对象数组的使用要分为声明数组和为数组开辟空间两步。开辟空间后数组中的每个元素的内容都是null。

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

统计该字符串中字母s出现的次数。
统计该字符串中子串“is”出现的次数。
统计该字符串中单词“is”出现的次数。
实现该字符串的倒序输出。

实验代码:

package hlha;

public class Tongji {
    static class Test {
        public static void main(String[] args){
            int a=0,b=0,c=0;
            String str="this is a test of java";
            char[] d=str.toCharArray();
            for(int i=0;i<d.length;i++){
                if(d[i]=='s'){
                    a++;
                }
                if(d[i]=='i'&&d[i+1]=='s'){
                   b++;
                    if(d[i-1]==' '&&d[i+2]==' '){
                       c++;
                    }
                }
            }
            System.out.println("字符串中字母s出现的次数:"+a);
            System.out.println("字符串中字串“is”出现的次数:"+b);
            System.out.println("字符串中单词“is”出现的次数:"+c);
            System.out.print("字符串的倒序输出:");
            for(int i=d.length-1;i>=0;i--){
                System.out.print(d[i]);
            }
        }
    }

}

1581895-20190927145321187-1157976942.png

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

实验代码:

package hlha;
import java.util.Scanner;
public class daoxu {
     public static void main(String[] args){
            Scanner n=new Scanner(System.in);
            String ch=n.next();
            char[] c=ch.toCharArray();
            for(int i=0;i<c.length;i++){
                c[i]+=3;
            }
            System.out.print("加密后的结果:");
            for(int i=0;i<c.length;i++){
                System.out.print(c[i]);
            }
        }

}

1581895-20190927184955954-602852151.png

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

实验代码:

package hlha;

public class Jishu {
        public static void main(String[] args) {
            String num="ddejidsEFALDFfnef2357 3ed";
            char tum[]=num.toCharArray();                               
            int j,i,a=0,b=0,c=0;
            for(j=tum.length,i=0;i<j;i++) {                          
                if(tum[i]>='a'&&tum[i]<='z') {                 
                    a++;                                                 
                }else if(tum[i]>='A'&&tum[i]<='Z') {              
                    b++;                                              
                }else {                                                   
                    c++;                                               
                }
            }
            System.out.println("小写字母数:"+a);
            System.out.println("大写字母数:"+b);
            System.out.println("非英文字母数:"+c);
        }
    }

1581895-20190927195736859-2020662778.png

第二题改正:

实验代码:


package hlha;
import java.util.Scanner;
public class daoxu {
        public static void main(String[] args) {
            Scanner sum = new Scanner(System.in);                                       //输入值
            String num = sum.nextLine();                                        //赋值给num
            char tum[]=num.toCharArray(),hum[]=num.toCharArray();        //将num转化为字符型数组
            int j,i,xum;
            for(j=xum=tum.length-1,i=0;i<=xum;i++) {                      //循环语句;
                if(i+2<j) {                                                    //如果向后移两位后的位置数小于该字符数组的总长度
                    hum[i+2+1]=tum[i];                            //把值放入变化后的位置数加一中去
                }else if(i+2>=j) {                                        //如果向后移两位后的位置数大于该字符数组的总长度
                    hum[i+2-j]=tum[i];                                 //把值放入多出该字符数组的总长度的数值的位置中
                }
                if(i==xum) {    //条件成立则所有的数都进行了移位
                    System.out.print("加密后的结果");
                    for(j=tum.length,i=0;i<j;i++) {              //循环输出变化后的数
                        System.out.print(hum[i]);
                    }
                }
            }
        }
    }

1581895-20190929185242555-405751387.png

转载于:https://www.cnblogs.com/dapeng1234/p/11597977.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值