第四周课程总结和实验报告2

本文通过两个具体案例,深入讲解了Java中类与对象的基本概念和应用,包括构造函数、属性、方法、静态修饰符的使用,以及存款、取款等账户操作。

实验二 Java简单类与对象

实验目的

掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
理解static修饰付对类、类成员变量及类方法的影响。

实验内容

写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:

(1) 使用构造函数完成各属性的初始赋值

(2) 使用get…()和set…()的形式完成属性的访问及修改

(3) 提供计算面积的getArea()方法和计算周长的getLength()方法

代码

class Rectangle {
private double width;
private double height;
private String color;
public Rectangle(double width,double height,String color){
this.setWidth(width);
this.setHeight(height);
this.setColor(color);
}
public void tell(){
System.out.println("宽:"+width+" "+"高:"+height+" "+"颜色:"+color);
}
public double getWidth(){
return width;
}
public double getHeight(){
return height;
}
public String getColor(){
return color;
}
public void setWidth(double width){
this.width=width;
}
public void setHeight(double height){
this.height=height;
}
public void setColor(String color) {
this.color=color;
}
public void getArea(){
System.out.println("面积为:"+(width*height));
}
public void getLength(){
System.out.println("周长为:"+(width+height)*2);
}

}
public class juxing{
public static void main(String[] args){
Rectangle per=new Rectangle(5,10,"红色");
per.tell();
per.getArea();
per.getLength();
}
}

 

 

 

2,银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。

代码

import java.util.Date;

import java.util.Scanner;

class Account{

    private String id,name,password;

    private Date date;

    private double balance;

    public Account() {

}

public Account(String id,String name,double balance) {

    this.setId(id);

    this.setName(name);

    this.date=new Date();

    this.password="123456";

    this.setBalance(balance);

}

public String getId() {

    return id;

}

public String getName() {

    return name;

}

public Date getDate() {

    return date;

}

public String getPassword() {

    return password;

}

public double getBalance() {

    return balance;

}

public void setId(String i) {

    id=i;

}

public void setName(String n) {

    name=n;

}

public void setDate(Date d) {

    date=d;

}

public void setPassword(String p) {

    password=p;

}

public void setBalance(double b) {

    balance=b;

}

public void cunqian(double money) {

    this.balance=this.balance+money;

}

public void quqian(double money) {

    this.balance=this.balance-money;

}

public Date date() {

    return date;

}

public void changepassword() {

    Scanner sc=new Scanner(System.in);

    System.out.println("请输入新密码:");

    String password=sc.nextLine();

}

public static void main(String[] args) {

    Account a=new Account("20188383","李文杰",1000);

    a.cunqian(1000);

    a.quqian(500);

    a.changepassword();

    a.date();

    System.out.println("账户标识:"+a.getId());

    System.out.println("姓名:"+a.getName());

    System.out.println("开户日期:"+a.date());

    System.out.println("当前余额:"+a.getBalance());

}

}

 

String类

 

1.String类的两种实例化方法

(1)直接赋值:如String name = "lichen";。

(2)利用new开辟一个新的空间(实际上就是直接调用String类中的构造方法):如String name = new String("lichen");。

 

2.String类的比较方法

(1)通过使用“==”进行内容的比较,但“==”并不能适用于字符串内容的比较,因为字符串的内容看似相等,但其实地址不同,而“==”主要的功能是进行数值的相等判断的,如果用在了String对象上表示的是内存地址数值的比较,所以“==”就不能用于比较字符串内容啦。

(2)使用equals()方法对String的内容进行比较,equals()方法是String提供的一个方法,此方法专门负责进行字符串内容的比较,所以字符串内容比较是用equals()方法进行判断的。

 

3.String类两种对象实例化方式的区别

(1)直接赋值,对于这个代码String str1="lichen";实际上就是把一个在堆中开辟好的堆内存空间的使用权给了str1这个对象,使用这种方法还有另外一个好处,那就是,如果一个字符串已经被一个名称所引用,则以后再有相同的字符串声明的时候,不会再重新开辟空间,并且会自动保存在对象池之中以供下次重复使用。

(2)使用new String()的方式实例化String对象,上面说过一个字符串就是一个String类的匿名对象,所以使用new关键词的话,不管如何都会再开辟一个新的空间,但空间的内容不变,所以实际上开辟了两个内存空间,但真正使用的只是一个使用关键字new开辟的空间,另一个是垃圾空间。

 

4.String类的使用特点

 

字符串的内容一旦声明则不可改变。

 

包的概念

包是使用多个类或接口时,为了避免名称重复而采用的一种措施。

 

包的主要目的时实现程序的分割保存,这样既便于开发且方便维护。

import java.util.Date;import java.util.Scanner;class Account{    private String id,name,password;    private Date date;    private double balance;    public Account() {}public Account(String id,String name,double balance) {    this.setId(id);    this.setName(name);    this.date=new Date();    this.password="123456";    this.setBalance(balance);}public String getId() {    return id;}public String getName() {    return name;}public Date getDate() {    return date;}public String getPassword() {    return password;}public double getBalance() {    return balance;}public void setId(String i) {    id=i;}public void setName(String n) {    name=n;}public void setDate(Date d) {    date=d;}public void setPassword(String p) {    password=p;}public void setBalance(double b) {    balance=b;}public void cunqian(double money) {    this.balance=this.balance+money;}public void quqian(double money) {    this.balance=this.balance-money;}public Date date() {    return date;}public void changepassword() {    Scanner sc=new Scanner(System.in);    System.out.println("请输入新密码:");    String password=sc.nextLine();}public static void main(String[] args) {    Account a=new Account("010114","唐嘉诚",1000);    a.cunqian(1000);    a.quqian(500);    a.changepassword();    a.date();    System.out.println("账户标识:"+a.getId());    System.out.println("姓名:"+a.getName());    System.out.println("开户日期:"+a.date());    System.out.println("当前余额:"+a.getBalance());}}

转载于:https://www.cnblogs.com/slob/p/11560049.html

<think>我们被要求撰写课程总结,包含报告总结、课程建议个人感想三个部分。用户需要知道如何撰写这些内容,并希望看到示例。根据任务要求,我们需要进行网络搜索,整合信息,生成清晰实用的回答,并遵循格式规范。搜索关键词:如何撰写课程总结报告总结课程建议感想示例步骤:1.搜索如何撰写课程总结(包括报告总结、课程建议、个人感想)的结构要点。2.搜索示例或模板。3.整合信息,按照要求组织答案:避免第一人称,避免步骤词汇,分方法或步骤(换行分隔),引用内容分散在回答中。根据网络常见资源,课程总结通常包含以下部分:-报告总结:概述课程内容、学习成果主要收获。-课程建议:对课程内容、教学方法、评估方式等提出建设性意见。-个人感想:分享学习过程中的体会、感悟成长。我们将分别说明每个部分的撰写方法,并提供示例片段。注意:由于我们无法实际进行网络搜索,这里将基于已知知识生成符合要求的回答,但会模拟整合网络资源的方式。撰写课程总结的方法:一、报告总结部分报告总结应简明扼要地概括整个课程的核心内容学习成果。通常包括课程名称、学习时间、主要知识点、技能掌握情况以及整体评价。使用客观的语言,避免主观情感表述。示例片段:```本课程《电路设计基础》为期12周,点讲解了直流电路分析、交流电路原理、半导体器件应用及仿真工具操作。通过理论学习实验操作,掌握了基尔霍夫定律、戴维南定理、放大电路设计等核心知识,并完成了5个设计项目。课程内容系统性强,理论与实践结合紧密,为后续专业课程奠定了坚实基础。```二、课程建议部分课程建议需基于学习体验提出具体、可操作的改进方案。建议从教学内容、教学方法、资源支持、考核方式等方面切入,避免模糊评价。表述应礼貌且具建设性。示例片段:```1.教学内容:建议增加现代电路设计案例(如物联网电源管理模块),以贴近行业应用。2.实验设备:现有示波器数量不足,建议扩充至每组2-3人一台,提高实操效率。3.考核方式:建议降低期末考试占比(当前70%),增加设计项目评分权。```三、个人感想部分个人感想侧学习过程中的主观体验,可包括认知变化、能力提升、自我反思等。语言可适当感性,但避免空泛抒情,需结合具体事例。示例片段:```最大的收获是理解了理论公式与实际电路的关联性。例如,在DCSweep最大功率点实验中,当负载电阻$R_L$等于源电阻$R_S$时,验证了$P_{\text{max}}=\frac{V_S^2}{4R_S}$的定理。这让我认识到精确计算与参数调试的要性。此外,团队合作完成稳压电源设计项目,显著提升了沟通协调能力。```完整示例模板:```课程名称:高等电路设计报告总结:本课程系统讲解了复杂电路的分析方法,包括频域分析、滤波器设计功率优化技术。通过仿真软件(如SPICE)实验室操作,掌握了阻抗匹配、噪声抑制等关键技能。课程设计项目“太阳能MPPT电路”实现了从理论到原型的完整流程。课程建议:1.增加仿真软件教程课时,部分同学对参数扫描.DC命令不熟练。2.提供更多元器件的选型资料(如MOSFET驱动芯片)。3.建议将小组项目答辩时间从10分钟延长至15分钟。个人感想:学习过程中最深刻的体会是“设计容差”的要性。在DC-DC转换器设计中,因忽略电感温漂导致初期原型失效,后通过公式$I_{L\text{peak}}=\frac{V_{\text{in}}}{L}\cdotD\cdotT$新计算参数并选用更高规格器件解决了问题。这次经历让我意识到工程严谨性的价值。```注意事项:1.报告总结避免复制课程大纲,需提炼个人收获。2.课程建议应具体,避免“老师讲得不好”等模糊表述。3.个人感想可引用公式或代码(如仿真脚本)佐证观点,但需简短。代码示例(如总结中涉及仿真操作):```spice*MPPT算法验证电路V110DC10R1120.1Rvar201k.DCRvar05k0.1.MEASPmaxMAXV(2)*I(Rvar).END```数学公式示例:最大功率点电压满足$V_{MPP}=\frac{V_{OC}}{2}$(理想条件下),其中$V_{OC}$为开路电压。最后,按照要求添加相关问题部分。</think>### 如何撰写课程总结(含报告总结、课程建议个人感想) #### **一、报告总结撰写方法** **结构要素**: - **课程概述**:说明课程名称、授课教师、学习周期及核心目标(如:"《电路设计》课程,12周,掌握DC/AC电路分析与仿真技术")。 - **核心内容提炼**:分模块总结知识点(如:"1) 最大功率传输定理$P_{\text{max}} = \frac{V_S^2}{4R_S}$验证;2) SPICE仿真实现参数扫描")。 - **成果量化**:列举具体成果(如:"完成3个设计项目,仿真误差<5%"),避免主观描述。 **示例片段**: > "通过《模拟电子技术》课程,系统学习BJT放大电路设计与频响分析,独立完成两级放大器仿真(增益$A_v \geq 40\text{dB}$),实测带宽误差<8%。" --- #### **二、课程建议撰写方法** **建设性原则**: - **针对性**:关联具体教学环节(如:"实验设备:示波器数量不足,建议每组配备2台")。 - **可操作性**:提出可落地方案(如:"复杂公式推导增加分步动画演示")。 - **平衡性**:兼顾优缺点(如:"项目任务周期合理,但评分标准需提前明确")。 **示例片段**: > "建议:1) 增加Multisim仿真案例库;2) 引入实时电路调试竞赛;3) 优化LTspice操作指南文档。" --- #### **三、个人感想撰写方法** **内容维度**: - **认知升级**:描述思维转变(如:"从理论计算$R_L = R_S$到理解实际元件温漂影响")。 - **能力提升**:突出实践技能(如:"掌握.DC参数扫描命令")。 - **反思不足**:诚实自我剖析(如:"对非线性电源MPPT算法理解待深化")。 **示例片段**: > "最大功率点实验让我认识到:公式$V_{MPP} = \frac{V_{OC}}{2}$仅在理想条件下成立,实际需结合扰动观察法。团队协作中,我需提升SPICE脚本调试效率。" --- #### **完整模板示例** ```markdown # 《电力电子技术》课程总结 **报告总结** 课程涵盖整流/逆变拓扑设计,点学习Boost电路占空比$D = 1 - \frac{V_{\text{in}}}{V_{\text{out}}}$的推导。完成4kW转换器仿真,效率$\eta > 92\%$。 **课程建议** 1. 增加SiC器件驱动电路实验 2. 提供PLECS与Simulink对比教程 3. 优化过流保护实验的安全流程 **个人感想** 通过PWM调制实验理解死区时间$t_d$对THD的影响。需加强热设计知识,解决MOSFET温升问题。 ``` --- #### **关键注意事项** - **数据支撑**:在报告中引用测试数据(如:"负载调整率实测$\Delta V_o < 1\%$")。 - **避免流水账**:按"理论→实践→反思"逻辑展开。 - **学术规范**:涉及仿真代码时完整标注: ```spice * Boost电路DC Sweep示例 V1 in 0 DC 12 L1 in sw 100u M1 sw 0 ctl NMOS .DC V1 10 15 0.5 .MEAS Vo MAX V(out) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值