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

本文总结了Java编程的基础概念,包括this与super的区别、final的使用、抽象类的定义及使用规则,并分享了三个编程实验的实现过程及代码示例。

第五周课程总结

1、this和super的区别:

this:访问本类中的属性,如果本类没有此属性则从父类中继续查找;访问本类中的方法,如果本类中没有此方法则从父类中继续查找;调用本类构造,必须放在构造方法的首行;表示当前对象。
super:访问父类中的属性;直接访问父类中的方法;调用父类构造,必须放在子类构造方法的首行。
注意:this和super都可以调用构造方法,但两者是不可以同时出现的,因为两者调用构造方法时都必须放在构造方法首行。

2、final的使用:

final:final声明的类不能有子类;;final声明的方法不能被子类所覆写;final声明的变量及成为常量。

3、抽象类的定义及使用规则:

包含一个抽象方法的类必须是抽象类;抽象类和抽象方法都要使用abstract关键字声明;抽象方法只需要声明而不需要实现;抽象类必须被子类继承,子类(如果不是抽象类)必须覆写抽象类中的全部抽象方法。

4、实验中遇到的问题:

第一题比较简单,老师在上课的时候讲过了;第二题有一点麻烦,就是在输入的字符串小于3的时候该怎么输出,想了一下应该就是倒序输出,大于3的时候就先输出后三位字符。(第二题没明白题目意思不知道是‘a'变’d',还是移动字母位置,所以写了两个源码)第三题也比较简单,老师在课上讲了大概的思路,然后在c语言中又做过类似的题目,很快就写出来了。

实验报告

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

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

package shiyan3;

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

    }
}

截图1:1581901-20190927144733988-1801026925.png

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

源码2:

package shiyan3;
import java.util.Scanner;
public class jiami {
public static void main(String[] args) {
    @SuppressWarnings("resource")
    Scanner sc = new Scanner(System.in);
    String v = sc.nextLine();
    char[] r = v.toCharArray();
    if (v.length() <= 3) {
         for (int i = v.length()-1; i >= 0; i--) {
                System.out.print(r[i]);
                }
    }
    else {
        System.out.print(r[v.length() - 3]+""+r[v.length() - 2]+""+r[v.length() - 1]);
        for (int i = 0; i < v.length() - 3; i++) {
            System.out.print(r[i]);
            }
        }
    }
}

源码2.1:

package shiyan3;
import java.util.Scanner;
public class Jiami2 {
    public static void main(String []args) {
        @SuppressWarnings("resource")
        Scanner v=new Scanner(System.in);
        String a=v.next();
        char[] c=a.toCharArray();
        System.out.print("加密后密码为:");
        System.out.print(c[c.length-3]);
        System.out.print(c[c.length-2]);
        System.out.print(c[c.length-1]);
        for(int i=0;i<c.length-3;i++) {
            System.out.print(c[i]);
        }
    }
}

截图2:1581901-20190928153120874-7229597.png
截图2.1:1581901-20190928152855020-996899444.png

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

源码3:

package shiyan3;

public class zifushu {
    public static void main(String[] args) {
        String b="ddejidsEFALDFfnef2357 3ed";
        int big=0,small=0,another=0;
        char[] c=b.toCharArray();
        for(int i=0;i<b.length();i++) {
            if('a'<=c[i]&&c[i]<='z') {
                small++;
            }
            else if('A'<=c[i]&&c[i]<'Z') {
                big++;
            }
            else if('1'<=c[i]&&c[i]<='9'){
                another++;
            }
            
        }
        System.out.println("大写字母数:"+big);
        System.out.println("小写字母数:"+small);
        System.out.println("非字母数:"+another);
    }
}

截图3:1581901-20190927141920388-469232381.png

转载于:https://www.cnblogs.com/leichen210/p/11597746.html

基于matlab建模FOC观测器采用龙贝格观测器+PLL进行无传感器控制(Simulink仿真实现)内容概要:本文档主要介绍基于Matlab/Simulink平台实现的多种科研仿真项目,涵盖电机控制、无人机路径规划、电力系统优化、信号处理、图像处理、故障诊断等多个领域。重点内容之一是&ldquo;基于Matlab建模FOC观测器,采用龙贝格观测器+PLL进行无传感器控制&rdquo;的Simulink仿真实现,该方法通过状态观测器估算电机转子位置与速度,结合锁相环(PLL)实现精确控制,适用于永磁同步电机等无位置传感器驱动场景。文档还列举了大量相关科研案例与算法实现,如卡尔曼滤波、粒子群优化、深度学习、多智能体协同等,展示了Matlab在工程仿真与算法验证中的广泛应用。; 适合人群:具备一定Matlab编程基础,从事自动化、电气工程、控制科学、机器人、电力电子等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①学习并掌握FOC矢量控制中无传感器控制的核心原理与实现方法;②理解龙贝格观测器与PLL在状态估计中的作用与仿真建模技巧;③借鉴文中丰富的Matlab/Simulink案例,开展科研复现、算法优化或课程设计;④应用于电机驱动系统、无人机控制、智能电网等实际工程仿真项目。; 阅读建议:建议结合Simulink模型与代码进行实践操作,重点关注观测器设计、参数整定与仿真验证流程。对于复杂算法部分,可先从基础案例入手,逐步深入原理分析与模型改进。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值