java实验.docx
- 文档编号:7856722
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:10
- 大小:69.41KB
java实验.docx
《java实验.docx》由会员分享,可在线阅读,更多相关《java实验.docx(10页珍藏版)》请在冰豆网上搜索。
java实验
电子信息学院
实验报告书
课程名:
软件开发基础Java
(2)
题目:
实验04泛型与集合类
实验类别:
【设计】
班级:
软件1412
学号:
141003330212
姓名:
张杨松
评语:
实验态度:
认真()一般()较差()
实验结果:
正确()部分正确()错()
实验理论:
掌握()熟悉()了解()生疏()
操作技能:
较强()一般()较差()
实验报告:
较好()一般()较差()
成绩:
指导教师:
王中华
实验时间:
2015年4月22日
一、实验目的
(1)掌握集合的概念、体系结构、分类及使用场景;
(2)了解Set接口及主要实现类(HashSet、TreeSet);
(3)了解List接口及主要实现类(ArrayList、LinkedList、Vector);
(4)掌握ArrayList的使用,以及ArrayList与Vector的区别;
(5)了解Map接口及主要实现类(HashMap、TreeMap、HashTable);
(6)掌握HashMap的使用,以及HashMap与HashTable的区别。
二、实验内容
(1)编写程序练习List集合的基本使用:
①创建一个只能容纳String对象名为names的ArrayList集合;
②按顺序往集合中添加5个字符串对象:
“张三”、“李四”、“王五”、“马六”、“赵七”;
③对集合进行遍历,分别打印集合中的每个元素的位置与内容;
④首先打印集合的大小,然后删除集合中的第3个元素,并显示删除元素的内容,然后再打印目前集合中第3个元素的内容,并再次打印集合的大小。
(2)编写程序练习Map集合的基本使用:
①创建一个只能值只能容纳String对象的Person的HashMap集合;
②往集合中添加5个“键-值”对象:
id—>001、name—>张三、sex—>男、age—>28、love—>我爱学Java;
③对集合进行遍历,分别打印集合中的每个元素的键与值;
④首先打印集合的大小,然后删除集合中的键为age的元素,并显示删除元素的内容,并再次打印集合的大小。
(3)编写Java应用程序,使用Vector向量来保存用户输入的若干个字符串。
循环读入用户输入的字符串,以end结束。
将所有字符串显示出来。
在所有字符串的中间位置插入“NICE”,再次显示所有字符串。
(4)应用泛型编写一个Java程序,输出三角形、长方形、正方形及圆的面积。
要求:
首先定义一个接口,该接口中包含一个计算图形面积的方法;其次,定义四个类分别表示三角形、长方形、正方形和圆,在类中分别实现不同图形面积的计算方法;最后,应用泛型可以在控制台输出各种不同图形的面积。
三、实验结果(关键代码和运行结果)
⑴
importjava.util.ArrayList;
importjava.util.List;
/**
*测试容器类ArrayList和接口List以及相关的方法运用
*
*@authorAdministrator
*
*/
publicclassDemoArrayList{
DemoArrayList(){
//创建一个只能容纳String对象名为names的ArrayList集合;
List
names.add("张三");
names.add("李四");
names.add("王五");
names.add("马六");
names.add("赵七");
//对集合进行遍历,分别打印集合中的每个元素的位置与内容;
for(inti=0;i System.out.println(i+"----->"+names.get(i)); } //打印集合的大小 System.out.println("改变前的容器大小为: "+names.size()); //删除集合中的第3个元素 System.out.println("删除的第三个元素为: "+names.remove(3)); //打印目前集合中第3个元素的内容 System.out.println("第三个元素为: "+names.get(3)); //打印集合的大小 System.out.println("改变后的容器大小为: "+names.size()); } publicstaticvoidmain(String[]args){ newDemoArrayList(); } } ⑵ importjava.util.HashMap; importjava.util.Map; /** * (2)测试Map集合的基本使用 * *@authorAdministrator * */ publicclassDemoHashMap{ DemoHashMap(){ Map Person.put("id","001"); Person.put("name","张三"); Person.put("sex","男"); Person.put("age","28"); Person.put("love","我爱Java"); //对集合进行遍历,分别打印集合中的每个元素的位置与内容; System.out.println("id---->"+Person.get("id")); System.out.println("name---->"+Person.get("name")); System.out.println("sex---->"+Person.get("sex")); System.out.println("age---->"+Person.get("age")); System.out.println("love---->"+Person.get("love")); //打印集合的大小 System.out.println("改变前的容器大小为: "+Person.size()); //删除集合中的键为age的元素 System.out.println("刪除的值为: "+Person.remove("age")); //打印集合的大小 System.out.println("改变后的容器大小为: "+Person.size()); } publicstaticvoidmain(String[]args){ newDemoHashMap(); } } ⑶ importjava.io.BufferedReader; importjava.io.IOException; importjava.io.InputStreamReader; importjava.util.Iterator; importjava.util.Vector; /** *测试Vector容器的基本用法 * *@authorAdministrator1245 */ publicclassDemoVector{ BufferedReaderbr=null; /** *获取一个Vector容器 * *@return */ publicVector Stringstr; //循环读入用户输入的字符串 br=newBufferedReader(newInputStreamReader(System.in)); Vector try{ while(! (str=br.readLine()).equals("end")){ vector.addElement(str); } }catch(IOExceptione){ e.printStackTrace(); } System.out.println("-----------------------"); System.out.println("插入前容器的元素有: "); showInfo(vector); //在所有字符串的中间位置插入“NICE” vector.insertElementAt("NICE",vector.size()/2); returnvector; } /** *遍历容器中的元素 * *@paramv */ publicvoidshowInfo(Vector Iterator while(i.hasNext()){ System.out.println(i.next()); } } publicstaticvoidmain(String[]args){ DemoVectordv=newDemoVector(); Vector System.out.println("-----------------------"); System.out.println("插入元素后容器的元素为: "); dv.showInfo(vector); } } ⑷ /** *测试泛型的使用接口 * *@authorAdministrator * */ interfaceShapeAreaPeri doublegetArea(); } classTriangle doublea,b,c; Triangle(doublea,doubleb,doublec){ this.a=a; this.b=b; this.c=c; } publicdoublegetArea(){ doublerp=(a+b+c)/2.0; returnMath.sqrt((rp-a)*(rp-b)*(rp-c)); } } classRectangle doublewidth,length; Rectangle(doublew,doublel){ width=w; length=l; } publicdoublegetArea(){ returnwidth*length; } } classCircle doubleridus; finaldoublepi=3.14; Circle(doubler){ ridus=r; } publicdoublegetArea(){ returnpi*ridus*ridus; } } publicclassTestGeneric{ publicvoidtest(ShapeAreaPeri >sap){ System.out.println("所在图形的面积为: "+sap.getArea()); } publicstaticvoidmain(String[]args){ Triangle Circle Rectangle TestGenerictg=newTestGeneric(); tg.test(t); tg.test(c); tg.test(r); } } 四、实验体会
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 实验
![提示](https://static.bdocx.com/images/bang_tan.gif)