java实验04

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电子信息学院实验报告书课程名:软件开发基础Java(2)题目:实验04泛型与集合类实验类别:【设计】班级:软件1412学号:141003330212姓名:张杨松评语:实验态度:认真()一般()较差()实验结果:正确()部分正确()错()实验理论:掌握()熟悉()了解()生疏()操作技能:较强()一般()较差()实验报告:较好()一般()较差()成绩:指导教师:王中华实验时间:2015年4月22日《软件开发基础Java》实验报告1一、实验目的(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程序,输出三角形、长方形、正方形及圆的面积。要求:首先定义一个接口,该接口中包含一个计算图形面积的方法;其次,定义四个类分别表示三角形、长方形、正方形和圆,在类中分别实现不同图形面积的计算方法;最后,应用泛型可以在控制台输出各种不同图形的面积。三、实验结果(关键代码和运行结果)⑴《软件开发基础Java》实验报告2importjava.util.ArrayList;importjava.util.List;/***测试容器类ArrayList和接口List以及相关的方法运用**@authorAdministrator**/publicclassDemoArrayList{DemoArrayList(){//创建一个只能容纳String对象名为names的ArrayList集合;ListStringnames=newArrayListString();names.add(张三);names.add(李四);names.add(王五);names.add(马六);names.add(赵七);//对集合进行遍历,分别打印集合中的每个元素的位置与内容;for(inti=0;inames.size();i++){System.out.println(i+-----+names.get(i));《软件开发基础Java》实验报告3}//打印集合的大小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();}}⑵《软件开发基础Java》实验报告4importjava.util.HashMap;importjava.util.Map;/***(2)测试Map集合的基本使用**@authorAdministrator**/publicclassDemoHashMap{DemoHashMap(){MapString,StringPerson=newHashMap();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();}}《软件开发基础Java》实验报告5⑶importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.Iterator;importjava.util.Vector;/***测试Vector容器的基本用法**@authorAdministrator1245*/publicclassDemoVector{BufferedReaderbr=null;/***获取一个Vector容器**@return*/publicVectorStringgetVector(){《软件开发基础Java》实验报告6Stringstr;//循环读入用户输入的字符串br=newBufferedReader(newInputStreamReader(System.in));VectorStringvector=newVectorString();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(VectorStringv){IteratorStringi=v.iterator();while(i.hasNext()){System.out.println(i.next());}}publicstaticvoidmain(String[]args){DemoVectordv=newDemoVector();VectorStringvector=dv.getVector();System.out.println(-----------------------);System.out.println(插入元素后容器的元素为:);dv.showInfo(vector);《软件开发基础Java》实验报告7}}⑷/***测试泛型的使用接口**@authorAdministrator**/interfaceShapeAreaPeriT{doublegetArea();}classTriangleTimplementsShapeAreaPeriT{doublea,b,c;Triangle(doublea,doubleb,doublec){this.a=a;this.b=b;this.c=c;}《软件开发基础Java》实验报告8publicdoublegetArea(){doublerp=(a+b+c)/2.0;returnMath.sqrt((rp-a)*(rp-b)*(rp-c));}}classRectangleTimplementsShapeAreaPeriT{doublewidth,length;Rectangle(doublew,doublel){width=w;length=l;}publicdoublegetArea(){returnwidth*length;}}classCircleTimplementsShapeAreaPeriT{doubleridus;finaldoublepi=3.14;Circle(doubler){ridus=r;}publicdoublegetArea(){returnpi*ridus*ridus;}}publicclassTestGeneric{publicvoidtest(ShapeAreaPeri?sap){System.out.println(所在图形的面积为:+sap.getArea());}《软件开发基础Java》实验报告9publicstaticvoidmain(String[]args){TriangleDoublet=newTriangleDouble(1.1,2.0,3.0);CircleDoublec=newCircleDouble(1.2);RectangleDoubler=newRectangleDouble(1.2,1.4);TestGenerictg=newTestGeneric();tg.test(t);tg.test(c);tg.test(r);}}四、实验体会

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功