ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:21.25KB ,
资源ID:25662522      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25662522.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(GUI应用开发JAVA实验报告常熟理工含答案.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

GUI应用开发JAVA实验报告常熟理工含答案.docx

1、GUI应用开发JAVA实验报告常熟理工含答案GUI应用开发(JAVA)实验报告学 号:姓 名: 班 级:指导老师: 谢从华实验一、面向对象编程实验一、实验目的1、理解面向对象技术中的封装的概念。2、掌握包的编写以及如何使用包中的类。二、实验设备与环境 装有JAVA语言工具软件 (Netbeans IDE 6.5 )的计算机。三、实验内容a)习题册练习根据提供的Account类的UML类图,编写代码实现此类。按照UML图向其添加实例变量balance和构造器。使用构造器的参数初始化balance实例变量。b)按照要求创建TestAccount2类c)编译TestAccount2类d)运行Test

2、Account2程序。四、实验过程及结果1、根据书本的UML图,可以知道,在Account类中,定义了修饰符为public的构造器Account,同时在Account类中,定义了三个公共的方法getBalance:double,deposit:void,withdraw:void。2、依据上述要求,在Eclipse软件中,新建一个Java Project命名为BankPrj右击该项目,选择NewClass创建类Account。其中,Account代码如下所示:package BankPrj;public class Account public double balance; /添加balan

3、ce实例 / 为Account类创建一个构造器 public Account(double initBalance) balance = initBalance; public double getBalance() return balance; /返回当前 public void deposit(double amt) balance = balance + amt; /返回存钱数目 public void withdraw(double amt) if (balance = amt) balance = balance - amt; /返回取钱后剩余 3、创建TestAccount类,在

4、BankPrj的目录之下,创建一个包,命名为BankPrj.test,在该类中声明一个Main方法,并且将Account初始为余额为100的对象,同时定义一个方法先存入50.再取出147,然后将余额用标准输出流进行输出。其具体实现代码如下所示:package BankPrj.test;import BankPrj.Account; /导入Account类public class TestAccount public static void main(String args) Account acct = new Account(100.0); /给Account对象进行余额的初始操作 acct

5、.balance = acct.balance + 50.0; /对Account对象进行存入50的操作 acct.balance = acct.balance - 147.0; /从现在的Account对象中取出147 System.out.println(最终余额是: + acct.balance); /标准输出流输入余额 调试运行TestAccount结果如下所示:最终余额是:3.04、创建TestAccount2类,即在TestAccount的基础之上进行修改,将在Account类中定义的方法进行使用,利用方法的调用实现存取款功能的实现,其具体实现代码如下所示:package Bank

6、Prj.test;import BankPrj.Account;public class TestAccount32 public class TestAccount /新建一个 TestAccount接口 public TestAccount() public void main(String args) Account acct = new Account(100); /对Account对象进行初始化 acct.deposit(47); /原有的Account对象之上添加47 acct.withdraw(150); /从现有的Account对象中取出150 System.out.print

7、ln(账户余额最终是: + acct.getBalance(); /标准输出流输入余额 调试运行TestAccount2,结果如下所示:账户余额最终是:-3.0五、实验小结:1、能够理解面向对象技术中的封装的概念;2、掌握Eclipse软件的使用,以及包的编写和如何使用包中的类;3、能够理解UML图,并且根据图中相关提示进行类的创建和方法的编写实验二、类设计实验(银行账户的设计)一、实验目的 使用继承和方法覆盖创建子类综合使用面向对象技术,根据现实问题抽象设计模拟银行账户类二、实验设备与环境 装有JAVA语言工具软件 (Netbeans IDE 6.5 )的计算机。三、实验内容在银行项目中创建

8、Account类的两个子类SavingsAccount和CheckingAccount,这些账户的规则如习题册P6-2所示。设计该子类满足所给的UML类图。a)修改Account类b)创建SavingsAccount类c)创建CheckingAccount类删除当前的TestBanking类d)修改当前的TestBanking类e)运行TestBanking程序。四、实验过程及结果1、根据实验要求和UML图示,进行SavingsAccount和CheckingAccount两个子类的创建,并且对Account类进行修改。2、修改Account类:依据UML图示,可以知道将Account类中的实

9、例变量balance改为受保护的,即为protected,做同样修改的,还有Account构造器,与此同时,还需要将deposit()方法和withdraw()方法的返回类型修改为boolean,修改后,其具体代码如下所示:package mybank;public class Account protected double balance; public Account(double initBalance) balance = initBalance; public double getBalance() return balance; public boolean deposit(do

10、uble amt) balance = balance + amt; return true; public boolean withdraw(double amt) boolean result = false; if ( amt = balance ) balance = balance - amt; result = true; return result; 3、创建SavingsAccount类,根据UML图,该类是Account类的子类,同时在该类中,应该声明一个由private所修饰的interestRate实例和一个由public所修饰的SavingsAccount构造器,其具体

11、实现代码如下所示:package mybank;public class SavingsAccount extends Account /SavingsAccount类继承自Account类 private double interestRate; /声明interrstRate实例/创建一个SavingsAccount构造器 public SavingsAccount(double initBalance, double interestRate) super(initBalance); this.interestRate = interestRate; 4、创建CheckingAccoun

12、t类,在CheckingAccount一个类中,应当声明一个overdraftAmount实例变量,并且添加具有两个参数的公有构造器:initBalance和overdraftAmount,同时,使得initBalance能够接收传参,而overdraftAmount能够保存实例变量,其代码如下图所示:package mybank;public class CheckingAccount extends Account /CheckingAccount类是Account类的子类 private double overdraftAmount; /声明overdraftAmount实例变量 /创建

13、构造器,具有两个参数 public CheckingAccount(double initBalance, double overdraftAmount) super(initBalance); this.overdraftAmount = overdraftAmount; /添加只有一个参数的公有构造器,并默认其值为0.0 public CheckingAccount(double initBalance) this(initBalance, 0.0); /覆盖withdarw方法,使用overdraftAmount变量 public boolean withdraw(double amou

14、nt) boolean result = true; if ( balance amount ) / 当没有足够的余额来响应wuthdraw方法的时候,则检查是否有足够的可透支款项 double overdraftNeeded = amount - balance; if ( overdraftAmount overdraftNeeded ) /当没有透支款项或不足以透支款项不足以支付当前所需时 result = false; else balance = 0.0; overdraftAmount -= overdraftNeeded; else balance = balance - amo

15、unt; return result; 5、删除当前的TestBanking类,复制实验模板中的TestBanking类并且修改当前的TestBanking类,其具体实现代码如下所示:package mybank.test;/导入mybank包中的所有类import mybank.Account;import mybank.Bank;import mybank.CheckingAccount;import mybank.Customer;import mybank.SavingsAccount;public class TestBanking public static void main(S

16、tring args) Bank bank = new Bank(); Customer customer; Account account; /建立银行客户和他们名下的账户信息 System.out.println(创建客户 Jane Smith.); bank.addCustomer(Jane, Simms); customer = bank.getCustomer(0); System.out.println(他名下创建的账户有余额 500.00 并且3%的利润.); customer.setAccount(new SavingsAccount(500.00, 0.03); System

17、.out.println(创建客户Owen Bryant.); bank.addCustomer(Owen, Bryant); customer = bank.getCustomer(1); System.out.println(他名下创建的账户有余额 500.00 并且没有可透支款项.); customer.setAccount(new CheckingAccount(500.00); System.out.println(创建客户Tim Soley.); bank.addCustomer(Tim, Soley); customer = bank.getCustomer(2); System

18、.out.println(他名下创建的账户有余额 500.00 并且有500余额的可透支账户.); customer.setAccount(new CheckingAccount(500.00, 500.00); System.out.println(创建客户 Maria Soley.); bank.addCustomer(Maria, Soley); customer = bank.getCustomer(3); System.out.println(Maria 和她的丈夫共有着这份账户.); customer.setAccount(bank.getCustomer(2).getAccoun

19、t(); System.out.println(); / 说明各种账户所发生动作的类型并为SavingsAccount设定测试标准 System.out.println(已经将 Jane Smith和其名下账户信息进行保存.); customer = bank.getCustomer(0); account = customer.getAccount(); / Perform some account transactions System.out.println(Withdraw 150.00: + account.withdraw(150.00); System.out.println(D

20、eposit 22.50: + account.deposit(22.50); System.out.println(Withdraw 47.62: + account.withdraw(47.62); System.out.println(Withdraw 400.00: + account.withdraw(400.00); / Print out the final account balance System.out.println(客户 + customer.getLastName() + , + customer.getFirstName() + 仍有余额 + account.ge

21、tBalance(); System.out.println(); / 测试 Checking Account中的透支款项 System.out.println(已经将客户 Owen Bryant和他的账户进行更新,没有透支款项.); customer = bank.getCustomer(1); account = customer.getAccount(); / Perform some account transactions System.out.println(Withdraw 150.00: + account.withdraw(150.00); System.out.printl

22、n(Deposit 22.50: + account.deposit(22.50); System.out.println(Withdraw 47.62: + account.withdraw(47.62); System.out.println(Withdraw 400.00: + account.withdraw(400.00); / Print out the final account balance System.out.println(客户 + customer.getLastName() + , + customer.getFirstName() + 仍有余额 + account

23、.getBalance(); System.out.println(); System.out.println(检查并更新过客户 Tim Soley和他的账户信息,其中存在透支款项.); customer = bank.getCustomer(2); account = customer.getAccount(); / Perform some account transactions System.out.println(Withdraw 150.00: + account.withdraw(150.00); System.out.println(Deposit 22.50: + accou

24、nt.deposit(22.50); System.out.println(Withdraw 47.62: + account.withdraw(47.62); System.out.println(Withdraw 400.00: + account.withdraw(400.00); / Print out the final account balance System.out.println(客户 + customer.getLastName() + , + customer.getFirstName() + 仍有余额 + account.getBalance(); System.ou

25、t.println(); System.out.println(检查并更新客户 Maria Soley 和他丈夫共同持有的 账户.); customer = bank.getCustomer(3); account = customer.getAccount(); / Perform some account transactions System.out.println(Deposit 150.00: + account.deposit(150.00); System.out.println(Withdraw 750.00: + account.withdraw(750.00); / Pri

26、nt out the final account balance System.out.println(客户 + customer.getLastName() + , + customer.getFirstName() + 仍有余额 + account.getBalance(); 6、运行TestBanking程序 其调试运行结果如下所示:五、实验小结:1、能够使用继承和方法覆盖创建子类,如SavingsAccount类和CheckingAccount类均继承自Account类2、学会使用综合使用面向对象技术,根据现实问题抽象设计模拟银行账户类,如透支款项,存取账户,共有财产等实验三、使用接口

27、和抽象类设计实验一、实验目的 练习使用抽象类和接口,并探究这些类组件的多态属性。二、实验设备与环境 装有JAVA语言工具软件 (Netbeans IDE 6.5 )的计算机。三、实验内容创建一个来源于抽象类Animal的动物层次。几个动物类将实现一个叫做Pet的接口。层次结构见习题册P7-12图7-2。具体步骤如下:(1)按照7-13页的要求创建Pet接口(2)按要求创建Animal类(3)创建TestAnimals类(4)编译TestAnimals类(5)运行TestAnimals程序四、实验过程及结果1、打开Eclipse新建ProjectExcerise22、依据书本上的UML类图,得知

28、接口Pet将实现Cat和Fish类中的方法,并且在该接口中应当声明三个由Public修饰的方法:getName,setName和Play,据此,得出接口Pet的代码如下所示:package Execrise2; public interface Pet public void setName(String name); public String getName(); public void play(); 3、创建Animal类,要求声明并初始化一个受保护的实例变量“legs”,来记录动物腿的数目,同时应当抽象声明方法“eat”和具体方法“walk”,依据上述要求,实现代码如下图所示:pac

29、kage Execrise2;public abstract class Animal protected int legs; protected Animal(int legs) this.legs = legs; public abstract void eat(); /抽象方法eat public void walk() /具体方法walk System.out.println(这个动物用 + legs + 腿走路.); 4、创建Spider类,要求Spider类继承自Animal类,并且声明一个构造器和定以一个方法eat,其代码如下图所示:package Execrise2;public class Spider extends Animal public Spider() super(8); /蜘蛛有八只腿 public void eat() /蜘蛛具体吃什么 System.out.println(蜘蛛结网捕食飞行的昆虫.); 5、创建Cat类,要求能够包含一个实例变量来存储宠物的名字,同样的,需要声明一个构造器来指明猫有多少条腿,并实现Pet接口的方法,具体代码如下:package Execrise2;public class Cat exten

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1