版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本文档如对你有帮助,请帮忙下载支持!信息工程学院1Java程序设计实习报告学院 :信息工程学院班级:姓名 :学号:成绩:1实验目的掌握 Java 程序面向对象编程的基本架构,会运用面向对象的思想编写 Java 程序。2. 实验过程熟悉 JAVA的编程环境实验题 1阅读如下程序,完成思考题。class CCircle double pi; double radius;double getRadius()/ return radius;void setCircle(double r, double p) pi=p;radius=r;public class Ex2_1public static v
2、oid main(String args) CCircle cir1=new CCircle(); cir1.setCircle(2.0,3.1416);radius=+cir1.getRadius();/返回圆半径/设置圆半径/创建一个新圆类/设置圆半径输出圆半径程序运行结果如下:实验题 2 设计一个用来描述汽车的类 ,使用类的非静态成员变量来表示汽车的车主姓名、当前的速率和当前方向盘的转向角度,使用类的非静态成员方法来表示改变汽车的速率和停车两个操作。程序源代码如下:public class car String name;double speed;实验报告的内容与格式按任课教师的要求书写
3、。本文档如对你有帮助,请帮忙下载支持!double angle;void car()=user;this.speed=0;this.angle=0;public String getname()return name;public void setuser(String name)=name;public void setSeppd(double speed)this.speed=speed;public double getspeed()return speed;public void setangle(double angle)this.speed=an
4、gle;public double getangle()return angle;public void stopcar()this.setangle(0);this.setSeppd(0);/* param args*/public static void main(String args) / TODO Auto-generated method stub car A=new car(); A.setuser(zhangyong); A.setSeppd(150);本文档如对你有帮助,请帮忙下载支持!A.setangle(35);before stop car:);this cars be
5、long to:+A.getname();now the speed is:+A.getspeed();now the car angle is+A.getangle();A.stopcar();stop car);this cars belong to:+A.getname();now the speed is:+A.getspeed();now the car angle is+A.getangle();运行结果:实验题 3 定义一个类 MyProgram,包含两个属性:一个是 private 的整型属性 data 、一个是 private 的 String 类型的属性 str ,封装这两
6、个属性的四个方法 setData ()和 getData ()、setStr( ) 和 getStr ();将这两个属性转变为字符串的方法是 toStr ()。编写程序,使用 MyProgram类,实现数据的访问和修改,并调用 toStr ()方法显示该类的属性。程序源代码如下:public class Myprogrem private int data;private String Str;public void SetData(int data)t his.data=data;public void SetStr(String Str)t his.Str=Str;public int g
7、etdata()r eturn this.data;public String getStr()r eturn this.Str;public String toString(int d)r eturn String.valueOf(d);本文档如对你有帮助,请帮忙下载支持!public static void main(String args) / TODO Auto-generated method stub Myprogrem M=new Myprogrem(); before change the values:); M.SetData(15); M.SetStr(zhangyong)
8、; change the values:);M.SetData(20);M.SetStr(asdf);实验题 4 定义一个类实现银行帐户的概念,包括的变量有 帐号 和 存款余额,包括的方法有 存款 、取款 、查询余额 和”显示帐号”。定义主类,创建帐户类的对象,并完成相应操作。提示:关键代码如下:public int getleftmoney()return leftmoney;public void savemoney(d ouble money)leftmoney+=money;public void getmoney(doubl e money)if(money=l eftmoney)l
9、eftmoney-=money;else只能取: +leftmoney);bankaccount ba=new bankaccount(888123,1000);ba.savemoney(21000);存入 21000 元后余额为: +ba.getleftmoney();ba.getmoney(11500);11500 元后余额为: +ba.getleftmoney();源代码如下:public class bankaccount String banknumber;double accountbalance;void bankaccoutn(String b)本文档如对你有帮助,请帮忙下载支
10、持!banknumber=b;accountbalance=5000;public String getaccountnumber()return this.banknumber;public double getaccountbalance()return this.accountbalance;public double getleftmoney()return accountbalance;public void savemoney(double money)accountbalance+=money;public void getmoney(double money)if(money=
11、accountbalance)accountbalance-=money;else 只能取: +accountbalance);public bankaccount() / TODO Auto-generated constructor stub/* param args*/public static void main(String args) / TODO Auto-generated method stub bankaccount B=new bankaccount(); B.bankaccoutn(46501); 当前账号为: +B.getaccountnumber(); 当前账号余额
12、为: +B.getaccountbalance(); B.savemoney(21000); 存入 21000 元后余额为: +B.getleftmoney(); B.getmoney(11500);11500元后余额为:+B.getleftmoney();本文档如对你有帮助,请帮忙下载支持!运行结果如下:实验题 5 定义链表类,实现单链表基本操作。提示:关键代码如下:public class Node public int data;Node next;public Node(int data) this.data = data;this.next=null;public void Node
13、Display()(+data+);public class Linkpublic Link () this.first=null;public boolean isEmpty()public void insertHeadNode(int data)public Node deleteHeadNode()public void findNode(int k)public void displayLink ()public static void main (String args) 源代码如下:public class link private Node first;public link(
14、)/ TODO Auto-generated constructor stub this.first=null;public boolean isEmpty()if(this.first=null)return true;elsereturn false;本文档如对你有帮助,请帮忙下载支持!public void insertHeadNode(int data)Node N=new Node(0);N.data=data;N.next=;public Node deleteHeadNode()if(!isEmpty()this.first=;return ;elsethis link is e
15、npty!);return null;public void findNode(int k)Node N=new Node(0);N=first.next;int i=0;while(N!=null)if(N.data=k) 在节点中的位置为: +(i+1); break;N=N.next;+i;if(N=null) 无此数! );public void displayLink ()if(本文档如对你有帮助,请帮忙下载支持!Node pro=new Node(0);pro=first.next;while(pro!=null)pro.NodeDisplay();pro=pro.next;els
16、elink is empty! );public static void main (String args)link link = new link();link.first = new Node(0); 没有插入数据 :); link.displayLink(); 插入数据后 :); link.insertHeadNode(1); link.insertHeadNode(2); link.insertHeadNode(3); link.insertHeadNode(4); link.insertHeadNode(5); link.displayLink(); 删除头结点 :); link.
17、deleteHeadNode(); link.displayLink(); 查找数据 3:); link.findNode(3); 查找数据 1:); link.findNode(1);运行结果如下:实验三面向对象编程( 2)1实验目的(1)掌握 Java 中的继承机制及包( package)、接口( interface )等的设计方法。本文档如对你有帮助,请帮忙下载支持!(2)掌握 static、this 、super 等关键字的使用。2实验内容实验题 1 有图形类的父类 Shape,参照圆 Circle 类补充完整正方性 Square 和三角形 Triangle 类,并分析运行结果。cla
18、ss Shape void draw() void erase() class Circle extends Shape void draw() Circle.draw();void erase() Circle.erase();class Square extends Shape void draw() void erase() class Triangle extends Shape void draw() void erase() public class Shapes public static Shape randShape() switch(int)(Math.random() *
19、 3) default: / To quiet the compilercase 0: return new Circle();case 1: return new Square();case 2: return new Triangle();public static void main(String args) Shape s = new Shape9;/ Fill up the array with shapes: for(int i = 0; i s.length; i+)si = randShape();/ Make polymorphic method calls: for(int
20、 i = 0; i s.length; i+)si.draw();程序源代码如下:Shape 类:public class shape void draw()本文档如对你有帮助,请帮忙下载支持!void erase()public shape() / TODO Auto-generated constructor stub/* param args*/public static void main(String args) / TODO Auto-generated method stubSquare类:public class square extends shapevoid draw()s
21、quare.draw();void erase() suqre.erase();public square() / TODO Auto-generated constructor stub/* param args*/public static void main(String args) / TODO Auto-generated method stubTriangle类:public class Triangle extends shapevoid draw()Triangle.draw();void erase()Triangle.erase();public Triangle() /
22、TODO Auto-generated constructor stub本文档如对你有帮助,请帮忙下载支持!/* param args*/public static void main(String args) / TODO Auto-generated method stubCircle类:public class circle extends shapevoid draw() Circle.draw();void erase() Circle.erase();public circle() / TODO Auto-generated constructor stub/* param arg
23、s*/public static void main(String args) / TODO Auto-generated method stubShapes 类:public class shapes public static shape randShape()switch(int)(Math.random() * 3)default: / To quiet the compilercase 0: return new circle();case 1: return new square();case 2: return new Triangle();public static void
24、main(String args)shape s = new shape9;for(inti= 0;i s.length;i+)/Fillup thearraywithshapessi = randShape();本文档如对你有帮助,请帮忙下载支持!for(int i = 0; i s.length; i+)si.draw();程序运行结果如下:实验题 2有两个类: MobileManagement 和 Mobile ,分别描述如图3.7 所示两部手机名称及价格,类MobileManagement在包,而 Mobile 在包,你应该看到如图 3.8 所示结果。 基本要求 在空白处填写相关代码并
25、修改上面程序,使程序能够显示两部手机的价格和数量,运行结果如图3.9所示。E365, 1780 RMBM330, 1450 RMB图 3.4 手机及价格图图 3.5 运行结果图程序源代码如下:package ;import ;public class MobileManagement /* Defines the entry point of the application. */public static void main(String args) Mobile mobile1 = new Mobile(E365, 1780);Mobile mobile2 = new Mobile(M33
26、0, 1450);JOptionPane.showMessageDialog(null, Mobilephones:nn+mobile1.getName()+n+mobile2.getName();package ;public class Mobile /* Holds the name of the mobile. */private String name;/* Holds the price of the mobile. */private float price;/* Creates a new mobile object. */public Mobile(String name,
27、float price) = name;this.price = price;/* Gets the name of the mobile. */本文档如对你有帮助,请帮忙下载支持!public String getName() return name;/* Gets the price of the mobile. */public float getPrice() return price;运行结果如下:实验题3有四个类,主类Store在包, Mobile 、Mp3Player、Product在包, Mobile 、Mp3Player 是Product的子类 . 基本要
28、求设计类Mobile和类MP3Player,使它们和类Product 、Store组成一个完整的程序,且运行结果如图3.10 所示。程序源码如下:package ;public abstract class Prouduct implements Comparable /* Holds the name of the product. */protected String name;/* Holds the price of the product. */protected float price;/* Holds the number of products. */protected sta
29、tic int count;/* Create a new product object. */protected Prouduct() /* Gets the name of the product. */public String getName() return name;/* Gets the price of the product. */public float getPrice() return price;/* Gets the number of products. */public static int getCount() return count;/* Compares
30、 this product with the given product. */public int compareTo(Prouduct product)return new Float(product.getPrice().compareTo(price);本文档如对你有帮助,请帮忙下载支持!package ;public class MP3player extends Prouduct private String name;private float price;private int memory;public MP3player(String name,int memory,flo
31、at price)/ TODO Auto-generated constructor stub =name;this.price=price;this.memory=memory;+count;public String getMP3playername()return ;public float getMP3playerprice()return this.price;public int getmemory()return this.memory;public String toString ()return +(+this.memor
32、y+ MB),+this.price+ RMB;package ;public class Mobile extends Prouductprivate String name;private float price;private String WTO;public Mobile(String WTO,String name,float price) / TODO Auto-generated constructor stub =name;this.price=price;this.WTO=WTO;+count;public String getName()本文档如对你有帮
33、助,请帮忙下载支持!return ;public float getprice()return this.price;public String getWTO()return this.WTO;public String toString()return + on +this.WTO+, +this.price+ RMB;package ;import ;public class Store extends Prouduct public String toString()return + +this.price+ ;/* Defines
34、the entry point of the application. */public static void main(String args) / Creates two mobile phone objects.Mobile mobile1 = new Mobile(China Mobile, E365,1780);Mobile mobile2 = new Mobile(China Mobile, M330,1450);MP3player player1 = new MP3player(Meizo X3, 256, 399);MP3player player2 = new MP3pla
35、yer(Meizo E5, 512, 580);MP3player player3 = new MP3player(Xlive XM MP3 Play,256, 930); Prouduct prouducts=mobile1,mobile2,player1,player2,player3;Arrays.sort(prouducts);String text = ;for(int index = 0; index prouducts.length; +index)text += prouductsindex.toString()+n;/ Displays the two mobile phon
36、es in a dialog box.JOptionPane.showMessageDialog(null,The productsare:nn+text+nThere are +Prouduct.getCount()+ products.);本文档如对你有帮助,请帮忙下载支持!程序运行结果如下:实验题 4用 LIST 存放对象。利用面向对象的思想,创建以下类:Person 类,包含 Person 的姓名和身份证号码。Student 类,首先是一个 Person,除此之外,包含学生的语文、数学、英文课的成绩。Teacher 类,首先是一个 Person,除此之外,包含教师的工资。 请创建姓名张
37、三身份证号的 Person 对象。 请创建姓名李四身份证号语文:89数学:93英文:94的 Student 对象。 请创建姓名王五身份证号工资:3000的 Teacher 对象。 将这些对象存放在List 中,并打印出List 中存放的内容。程序源代码如下:Person 类:public class Person implements Comparable String name;String ID;public Person() / TODO Auto-generated constructor stubpublic void setperson(String name,String ID)
38、=name;this.ID=ID;本文档如对你有帮助,请帮忙下载支持!public String getname()return ;public String getID()return this.ID;public String toString()return 姓名: ++ +身份证号: +this.ID;public int hashcode()return ;public boolean equals(Object o)if(this=null)return false;else if(!(o instanceof Person)r
39、eturn false;elsePerson p=(Person)o;本文档如对你有帮助,请帮忙下载支持!if(this.getID().compareTo(p.getID()0)return true;elseif(this.getID().compareTo(p.getID()=0&this.getID().compareTo(p.getID()b)return 1;else if(a=b)本文档如对你有帮助,请帮忙下载支持!return 0;elsereturn -1;Student 类:public class Student extends Persondouble chinese;
40、double math;double english;public Student(String name,String ID,double chinses,doublemath,double english) / TODO Auto-generated constructor stub =name;this.ID=ID;this.chinese=chinses;this.math=math;this.english=english;public double getchinses()return this.chinese;public double getmath()ret
41、urn this.math;public double getenglish()return this.english;public String toString()return +this.chinese+姓名: ++ +英语成绩:+this.english+身份证号:+this.ID+数学成绩: +this.math;语文成绩:本文档如对你有帮助,请帮忙下载支持!Teacher类:public class Teacher extends Persondouble salar;public Teacher(String name, String ID, double sa
42、lar) / TODO Auto-generated constructor =name;this.ID=ID;this.salar=salar;public double getsalar()return this.salar;public String toString()return 姓名:++ +省份证号:+this.ID+ +工资:+this.salar;List类:import ;public class List public List() / TODO Auto-generated constructor stub/* param a
43、rgs*/public static void main(String args) / TODO Auto-generated method stub ArrayList PersonList=new ArrayList(); Person per=new Person();per.setperson(张三 ,);Student Stu=new Student(李四 ,1232000,78,89,89);Teacher tea=new Teacher(王五 ,0,6765);PersonList.add(per);PersonList.add(Stu);PersonList.add(tea);for(int i=0;iPersonList.size();+i);本文档如对你有帮助,请帮忙下载支持!运行结果如下:实验题 5用 SET存放对象。利用面向对象的思想,创建以下类:Person 类,包含 Person 的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《家装知识讲座》课件
- 《癫痫本科》课件
- 《家族式增员》课件
- 单位管理制度合并选集【人员管理篇】
- 单位管理制度范例选集人事管理篇十篇
- 《投资经济学》课程教学大纲
- 《现代经济学》课程教学大纲1
- 《小学分数教学》课件
- 《电子元件基础知识》课件
- 《企业环保管理》课件
- ISO 56001-2024《创新管理体系-要求》专业解读与应用实践指导材料之15:“6策划-6.4创新组合”(雷泽佳编制-2025B0)
- 广东省广州市天河区2022-2023学年七年级上学期期末语文试题(含答案)
- 标准厂房施工方案
- DBJT45T 037-2022 高速公路出行信息服务管理指南
- 港口码头租赁协议三篇
- 浙江省绍兴市柯桥区2023-2024学年高一上学期期末教学质量调测数学试题(解析版)
- 项目部实名制管理实施措施
- 颞下颌关节疾病试题
- 福建省厦门市2023-2024学年高二上学期期末考试质量检测化学试题 附答案
- 非甾体抗炎药围术期镇痛专家共识(2024 版)解读
- 安全使用文具班会课
评论
0/150
提交评论