搜档网
当前位置:搜档网 › JAVA实验报告-集合框架与泛型机制

JAVA实验报告-集合框架与泛型机制

JAVA实验报告-集合框架与泛型机制
JAVA实验报告-集合框架与泛型机制

Java 语言程序设计 C

实验报告

集合框架及泛型机制

学生姓名

专业、班级

指导教师

成绩

计算机与信息工程学院

年月日

一、实验目的

学习课程相关章节知识,通过上机练习,掌握以下知识:

1.掌握 List 接口下 ArrayList 及 LinkedList 的使用方法。

2.掌握 Map 接口下 HashMap 及 HashTable的使用方法

3.掌握集合中泛型的使用

二、实验内容

利用集合完成象数据库那样存储数据,并且可以简单查询,利用 map 存储学生信息,字段如下: id ,name,age,实现步骤:

(1)创建类,类图如下:

(2)在 main 方法编写逻辑代码

(3)运行程序并测试结果

package https://www.sodocs.net/doc/1f8811779.html,;

public class Student {

private String name ;

private int age ;

private String id ;

public String getName() {

return name ;

}

public void setName(String name ) {

this . name =name ;

}

public int getAge() {

return age ;

}

public void setAge(int age ) {

this. age=age ;

}

public String getId() {

return id;

}

public void setId(String id) {

this. id=id;

}

public Student(String name ,int age , String id ) {

super();

this. name =name ;

this. age=age ;

this. id=id;

}

public void sayHi()

{

System.out.println("name=" +this.getName()+"age=" + this .getAge()+" " + "id=" + this.getId());

}

}

//Databace类package https://www.sodocs.net/doc/1f8811779.html,;

import java.util.Collection; import java.util.HashMap; import java.util.Iterator;

public class

private

Databace { Student a ;

public Databace() {

super();

map= new HashMap(); }

public Student getA() {

return a;

}

public

this void

. a =

setA(Student

a;

a ) {

}

HashMap

public void delete()

{

map;

System. out .println( String id =Test.

if( map .containsKey(

" 请输入要删除表中元素

sc .next();

id ))

ID" );

{

map .remove(id );

Collection Iterator while ( it.hasNext())

c = map .values(); it= c .iterator();

{

a =it .next();

a .sayHi();

}

}

else

{

System. out .println(" 表中没有该元素" );

}

}

public void insert()

{

System. out .println(" 按顺序输入id、 age、 name" );

String name =Test. sc .next();

int age =Test. sc .nextInt();

String id =Test. sc .next();

a =new Student(name , age , id );

map .put( System.

id , a);

out .println(" 成功的插入一条记录" );

}

public void update() {

System. out .println( String id =Test.

if( map .containsKey(

" 请输入要修改表中元素

sc .next();

id ))

ID" );

{

map .remove(id );

System. out .println(" 按顺序输入

id =Test. sc .next();

String name =Test. sc .next();

int age =Test. sc .nextInt();

a =new Student(id , age , name );

map .put( id , a );

name,age,id");

}

else

{

System.out .println(" 表中没有该元素" );

}

}

public void select()

{

System. out .println(" 请输入要查询的方式

int i =Test. sc .nextInt();

switch ( i )

{

case 1:

{

1. 查询单行

2. 查询全部" );

System. out .println( String id =Test.

if( map .containsKey(

" 请输入要查询表中元素

sc .next();

id ))

ID" );

{

a =map .get( id );

a .sayHi();

}

else

{

System. out .println(" 表中没有该元素" );

}

} break ;

case 2:

{

Collection Iterator while ( it.hasNext())

c =map .values(); it= c .iterator();

{

a =it .next();

a .sayHi();

}

} break ;

}

}

}

//test

package import public

https://www.sodocs.net/doc/1f8811779.html,; java.util.*; class Test {

/**

*@param args */

public static public static {Scanner sc = new Scanner(System. void

main(String[] args )

in );

//TODO Auto-generated method stu

int i =0;

Databace d= new Databace();

while ( i ==0)

{

System.out .println("1.储存学生信息" );

System. out .println(

System. out .println(

System. out .println(

System. out .println( int j =Test. sc .nextInt(); switch ( j )

{

case 1:

d .insert();break cas

e 2:

d .select();break cas

e 3:

d .update();break cas

e 4:

d .delete();break

default:

i =1;;

;

;

;

"2.查询学生信息

"3.修改学生信息

"4.删除学生信息

"退出");

" );

" );

" );

}

}

}

}

提示:用 id 做 map 集合的键部分,用student 对象做 map 集合的值部分效果显示:

三、实验思想

四、实验结果

五、实验心得

《集合框架及泛型》上机实践内容

《集合框架及泛型》作业 一、根据课上讲解内容,完成演示示例和课堂练习 1、ArrayList获取并打印新闻标题 需求说明:按照以下实现的步骤,使用ArrayList获取和打印新闻标题,显示效果如下图所示: (1)创建多个各类新闻标题对象,包含ID、名称和创建者三个属性; (2)创建存储各类新闻标题的集合对象; (3)按照顺序依次添加各类新闻标题,使用add()方法; (4)获取新闻标题的总数,使用size()方法; (5)根据位置获取相应新闻标题、逐条打印每条新闻标题的名称,使用for 循环遍历。 2、ArrayList存储狗狗信息 需求说明:按照以下实现的步骤,使用ArrayList存储狗狗信息,使用ArrayList的方法对狗狗信息进行删除、读取和判断,显示效果如下图所示:(1)存储多条狗信息,获取狗总数,逐条打印出各条狗信息; (2)删除指定位置的狗,使用remove()方法; (3)判断集合中是否包含指定狗,使用contains()方法;

3、LinkedList添加和删除新闻标题 需求说明:在作业1的基础上,换用LinkedList存储新闻数据,并且使用LinkedList的getFirst()和getLast()方法获取第一条和最后一条数据,以及removeFirst()和removeLast()方法删除第一条和最后一条数据,输出效果如下图所示。 4、集合头尾位置删除和条件狗信息 需求说明:按照作业3的实现方式和所用到LinkedList的方法,实现狗狗信

息的更新并输出,输出效果如图所示。 5、使用Iterator和增强型for循环遍历Set 需求说明:按照以下实现的步骤,使用Iterator和增强型for循环遍历Set,输出效果如下图所示: (1)创建多个各类新闻标题对象,包含ID、名称和创建者三个属性; (2)创建存储各类新闻标题的集合对象; (3)按照顺序依次添加各类新闻标题; (4)获取新闻标题的总数; (5)使用iterator()获取Iterator对象; (6)使用Iterator遍历集合,使用hasNext()方法作为循环条件,判断是否存在另一个可访问的元素; (7)使用增强型for遍历集合;

Java集合框架实验报告

浙江大学城市学院实验报告 课程名称Java高级程序设计 实验项目名称Java集合框架实验 学生姓名专业班级学号 一、实验目的 1.理解Java集合框架的特点、接口与类之间的关系 2.掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、ArrayList 3.掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet 4.掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap 5.掌握Java集合框架的Collection与Iterator接口的特点与使用方式 二、实验内容 1、使用List管理对象集合 2、使用Map管理对象集合 3、使用Set管理对象集合 4、设计一个自定义的集合类 三、实验步骤 1、在Eclipse中新建工程(即项目) 2、使用List管理对象集合 1)新建一个包listExample 2)在这个包中新建三个类:Student类,StudentList类,StudentListTest类。 参考代码: Student、java, StudentList、java,StudentListTest、java 3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程序, 给出具体的实现代码(不使用泛型类)。

void addStudent(Student student){//添加一个学生对象 boolean a=true; for(int i=0;i

实验十 泛型与集合框架

实验十泛型与集合框架 1.实验目的 1、掌握LinkedList类和Collections类提供的用于排序和查找链表中 的数据的方法 2、掌握用散列映射来存储数据 3、掌握TreeSet类的使用 2.实验内容 1、根据附录里的源代码,按照注释要求,完成代码填空,使程序能够运行 得出结果。 1)实验1 按身高排序 2)实验2 英汉小字典 3)实验3 演出节目单 4)实验4输出args[]中的单词 2、设计编写程序完成以下任务。 1)仿照实验1编写TV类,要求通过实现Comparable接口规定该类的对象的大小关系,按price值得大小确定大小关系,即电视机按其价格确定之间的大小关系。 2)从控制台输入若干个单词(输入回车结束)放入集合中,将这些单词排序后(忽略大小写)打印出来。 知识点:List接口的实现类、String常用方法 3)请使用LinkedList来模拟一个队列(先进先出的特性): (1)拥有放入对象的方法void put(Object o) (2)取出对象的方法Object get() (3)判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。 知识点:List接口的实现类LinkedList常用方法 4)在一个列表中存储以下元素:apple,grape,banana,pear (1)返回集合中的最大的和最小的元素 (2)将集合进行排序,并将排序后的结果打印在控制台上 知识点:Collections类中的方法 3.实验步骤 略 4.评分标准 1.A——内容功能完善,编程风格好,人机接口界面好; 2.B——内容功能完善,编程风格良好,人机接口界面良好;

java 实验七 对象集合 实验报告

实验七对象集合的组织 实验目标: 1.了解Collection、List、Set、Map等常用数据结构的层次结构 2.掌握LinkList、Vector、ArrayList、HashTable、HashMap等类的用法 3.掌握Enumeration(枚举)及Iterator(迭代器)的遍历用法 4.了解自学HashSet、TreeSet这两个Set接口下的重要实现类 5.了解自学比较器接口 实验任务: 1. 填空 List 接口的特点是元素__有__(有|无)顺序,___可以___(可以|不可以)重复; Set 接口的特点是元素__无___(有|无)顺序,__不可以____(可以|不可以)重复; Map 接口的特点是元素是键、值对象,其中__键__可以重复,_值对象__不可以重复 2. (List)有如下代码: import java.util.*; public class TestList{ public static void main(String args[]){ List list = new ArrayList(); list.add(“Hello”); list.add(“World”); list.add(1, “Learn”); list.add(1, “Java”); printList(list); } public static void printList(List list){ //1 } } 要求: 1) 把//1 处的代码补充完整,要求输出list 中所有元素的内容,请使用三种方式来实现(课本227页,Iterator、增强for循环,普通循环)。 2) 三种代码与执行结果截图 1、用Iterator实现的代码如下: package zi; import java.util.*; publicclass Ex7_2{ publicstaticvoid main(String args[]){ List list = new ArrayList(); list.add("Hello"); list.add("World"); list.add(1, "Learn");

实验二 Java类-实验报告

南京信息工程大学实验(实习)报告 实验(实习)名称Java类实验(实习)日期 10.17 得分指导教师刘文杰院计算机与软件学院专业软件工程年级 2017级班次 1 姓名张成学号20171344024 1.实验目的: 1)熟练MyEclipse工具的使用与调试; 2)掌握Java类、方法和变量的定义和使用; 3)熟悉方法重载和覆盖、掌握this和supper关键字使用; 4)掌握4类访问控制符的使用。 2.实验内容: (1)定义一个类Circle,实现其面积计算功能getArea(); (2)编写程序,读入一个正整数并按降序显示它的所有最小因子。(教材第3章习题9)(3)利用多态性编程,实现求三角形、正方形和圆形的面积。(教材第4章习题6) 3.实验步骤 1、 public class Circle { public double radius; public Circle(double r) { radius= r; } public double getArea() { return radius*radius*Math.PI; } public static void main(String[] args) { Circle area1 = new Circle(5); System.out.println("The area is " + area1.getArea()); } }

2、 import java.util.Scanner; public class Read { public static void main(String[] args) { Scanner input =new Scanner(System.in); System.out.print("输入一个正整数:"); int n=input.nextInt(); int []a=new int[n]; int []b=new int[n]; int p,q=0,m=0; for(p=2;p<=n;p++) { while(n%p==0) { n=n/p; if(n!=1) { a[q]=p; q++; } else { a[q]=p; } } } while(q!=-1) { b[m]=a[q]; m++; q--; } for(p=0;p

JAVA实验报告-集合框架与泛型机制

Java 语言程序设计 C 实验报告 集合框架及泛型机制 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日

一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识: 1.掌握 List 接口下 ArrayList 及 LinkedList 的使用方法。 2.掌握 Map 接口下 HashMap 及 HashTable的使用方法 3.掌握集合中泛型的使用 二、实验内容 利用集合完成象数据库那样存储数据,并且可以简单查询,利用 map 存储学生信息,字段如下: id ,name,age,实现步骤: (1)创建类,类图如下: (2)在 main 方法编写逻辑代码 (3)运行程序并测试结果 package https://www.sodocs.net/doc/1f8811779.html,; public class Student { private String name ; private int age ; private String id ;

public String getName() { return name ; } public void setName(String name ) { this . name =name ; } public int getAge() { return age ; } public void setAge(int age ) { this. age=age ; } public String getId() { return id; } public void setId(String id) { this. id=id; } public Student(String name ,int age , String id ) { super(); this. name =name ; this. age=age ; this. id=id; } public void sayHi() { System.out.println("name=" +this.getName()+"age=" + this .getAge()+" " + "id=" + this.getId()); } }

操作系统实验报告java

操作系统实验报告 院系: 专业: 班级: 学号: 姓名: 指导老师:

进程调度的模拟与内存管理 一、实验目的 在采用多道程序设计的系统中,往往有若干个进程同时处于就绪状态。当就续进程个数大于处理器数时,就必须依照某种策略来决定哪些进程优先占用处理器。实验模拟实现处理机调度,以加深了解处理机调度的工作,并体会优先级和时间片轮转调度算法的具体实施方法。帮助了解在不同的存储管理方式下,应怎样实现主存空间的分配和回收。 二、实验要求 1、可随机输入若干进程,并按优先权排序; 2、从就绪队首选进程运行:优先权-1/要求运行时间-1 要求运行时间=0时,撤销该进程 3、重新排序,进行下轮调度。 4、可随时增加进程; 5、规定道数,设置后备队列和挂起状态。若内存中进程少于规定道数,可 自动从后备队列调度一作业进入。被挂起进程入挂起队列,设置解挂功 能用于将指定挂起进程解挂入就绪队列。 6、每次调度后,显示各进程状态。

7、自行假设主存空间大小,预设操作系统所占大小并构造未分分区表; 表目内容:起址、长度、状态(未分/空表目) 8、结合以上实验,PCB增加为: {PID,要求运行时间,优先权,状态,所需主存大小,主存起始位置, PCB指针} 9、采用最先适应算法分配主存空间; 10、进程完成后,回收主存,并与相邻空闲分区合并。 11、采用图形界面; 三、实验内容 选择一个调度算法,实现处理机调度。 1、设计一个按优先权调度算法实现处理机调度的程序; 2、设计按时间片轮转实现处理机调度的程序。 3、主存储器空间的分配和回收。在可变分区管理方式下,采用最先适应算法实现主存空间的分配和回收。 四、实验原理 该模拟系统采用java语言实现,要实现的功能有新建进程、进程调度、挂起进程、解挂进程、删除进程,道数和时间片大小可以由用户自己调整,有两种调度策略:按优先权调度和按时间片轮转调度。每个进程可能有5种状态:新建(new)、就绪(ready)、运行(running)、阻塞(waiting)、挂起(suspend)。每个状态都有一个队列用来存放处于该状态的进程,不同的调度策略采用不同的队列实现。当创建进程时,如果内存中的进程数还没达到规定道数,则将新建进程插入就绪

JAVA实验报告-集合框架及泛型机制

Java语言程序设计C 实验报告 集合框架及泛型机制 学生姓名 专业、班级 指导教师 成绩 计算机与信息工程学院 年月日 一、实验目的 学习课程相关章节知识,通过上机练习,掌握以下知识:

1.掌握List接口下ArrayList及LinkedList的使用方法。 2.掌握Map接口下HashMap 及HashTable的使用方法 3.掌握集合中泛型的使用 二、实验内容 利用集合完成象数据库那样存储数据,并且可以简单查询,利用map存储学生信息,字段如下: id ,name,age,实现步骤: (1)创建类,类图如下: (2)在main方法编写逻辑代码 (3)运行程序并测试结果 package com、cn; public class Student { private String name; private int age; private String id; public String getName() { return name; } public void setName(String name) {

this、name = name; } public int getAge() { return age; } public void setAge(int age) { this、age = age; } public String getId() { return id; } public void setId(String id) { this、id = id; } public Student(String name, int age, String id) { super(); this、name = name; this、age = age; this、id = id; } public void sayHi() { System、out、println("name="+this、getName()+"age="+this、getAge()+" "+"id="+this、getId()); } } //Databace类 package com、cn; import java、util、Collection; import java、util、HashMap; import java、util、Iterator; public class Databace { private Student a; public Databace() { super(); map=new HashMap(); } public Student getA() { return a; }

实验6 泛型与集合框架_附答案

任务一:用LinkedList存放对象 1.利用面向对象的思想,创建以下类: ●Person类,包含Person的姓名和身份证号码,覆盖Object类的toString() 方法,显示“姓名:XXX 身份证号:XXX”。 ●Student类,继承Person类,包含学生的语文、数学、英文课的成绩,并覆盖 父类的toString()方法,显示“姓名:XXX 身份证号:XXX 语文:XXX 数学:XXX 英文:XXX”。 ●Teacher类,继承Person类,包含教师的工资。并覆盖父类的toString()方 法,显示“姓名:XXX 身份证号:XXX 工资:XXX”。 ●public class Person implements Comparable{ ●String name; ●String ID; ●Person(String s,String i){ ●name=s; ●ID=i; } ●public String toString() { ●String str="姓名:"+name+" 身份证号码:"+ID; ●return str; } ●public int compareTo(Object arg0) { ●Person p=(Person)arg0; ●return https://www.sodocs.net/doc/1f8811779.html,pareTo(p.ID); } } ●class Student extends Person { ●int Chinese; ●int Math; ●int English; ●Student(String n,String i,int c,int m,int e){ ●super(n,i); ●Chinese=c; ●Math=m; ●English=e; } ●public String toString() { ●String str; ●str=" 语文成绩:"+Chinese+" 数学成绩:"+Math+" 英语成绩: "+English; ●return super.toString()+str; ●} ●} ●class Teacher extends Person{ ●int salary; ●Teacher(String n,String i,int s){ ●super(n,i); ●salary=s; ●}

java实验报告实验3答案

实验三熟悉常用java工具包并运用编程 实验目的: 本实验旨在巩固同学们对上课所讲java.util工具包中Collection,List,Set,Map加深理解,对其用法编程有一个更加深入的理解,为同学们以后的能够用Java进行独立地编写桌面程序打下一定的基础。 实验内容: 本实验的内容为:用Collection,List,Set,Map来存储数据,并进行排序,任何用Iterator,ListIterator或者Enumeration来打印其结果(按顺序和降序排列打印)。共分为四部分部分(前三部分必做,如果选第四个,前三个可以不做。。): (1)按顺序把1,10,5,7,6,2,9,20,14,存入到List中(注:允许自己自定义任何数),并对其进行排序,打印其升序和降序排列的结果。然后再向List中位置为第四位插入数35看看会有啥结果?再向List中插入字符串“ddy”,试猜想排序是否会出错?然后看看运行结果是啥? 程序: import java.util.*; public class SY3 { public SY3() { List list=new ArrayList(); list.add(1); list.add(10); list.add(5); list.add(7); list.add(6); list.add(2); list.add(9); list.add(20); list.add(14); list.add(35); list.add("ddy"); System.out.println("原序列:"); for(int i=0;i<=list.size()-1;i++) { System.out.println(list.get(i)); } System.out.println("新序列"); for(int i=0;i<=list.size()-1;i++) {

学号姓名--集合框架与泛型实验报告

浙江大学城市学院实验报告 课程名称面向对象程序设计 实验项目名称集合框架与泛型 学生姓名专业班级学号 一. 实验目的和要求 1. 了解Java集合框架的接口和实现类 2. 理解泛型类、泛型接口、泛型方法的特点 3. 掌握List接口及其实现类LinkedList、ArrayList 4. 了解Set接口及其实现类HashSet、TreeSet 5. 了解Map及其实现类HashMap、TreeMap 二. 实验内容 1. 分析Java集合框架的接口和实现类的组成 2. 分析泛型类、泛型接口、泛型方法的特点 3. 编程实现:设计学生管理类StudentManager(用List集合管理学生对象) 4. 选作-编程实现:设计学生管理类StudentManager(用Set集合管理学生对象) 5. 选作-编程实现:设计学生管理类StudentManager(用Map管理学生对象) 三. 实验结果与分析(可将程序运行结果截屏,也可分析运行结果) 1. 分析Java集合框架的接口和实现类的组成 请查阅书籍和Java帮助文档,说明Java集合框架的接口组成以及它们的继承关系,并针对每个接口给出具体的实现类。 答: 2. 分析泛型类、泛型接口、泛型方法的特点 请查阅书籍和Java帮助文档,举例说明泛型类、泛型接口、泛型方法的特点。 答: 3. 编程实现:设计学生管理类StudentManager(用List集合管理学生对象)。 StudentManager类的功能包括添加学生、查询学生、删除学生、统计学生成绩等。需要设计表示学生对象的Student类,并用LinkedList或ArrayList集合来管理可被数量的学生对象。另外还需要设计测试类Test来验证StudentManager的功能。 4. 编程实现:设计学生管理类StudentManager(用Set集合管理学生对象)。具体功能 要求同第3题,但是需要用Set的实现类(比如HashSet、TreeSet)管理学生对象。

java实验报告-

实验报告□实践报告□ 课程名称:Java语言程序设计 实验、实践名称:Java语言基础、数组和字符串编程、 Java面向对象程序设计、Java异常处 理多线程编程、图形用户界面编程实验、实践地点:致向楼301 专业班级:软件1531 学号: 学生姓名:关玉芬 指导教师:相洁 2017 年1月8日 实验一Java语言基础 一、实验目的和要求 (1) 通过实验,掌握Java语言程序设计的基本方法。 (2) 学会Java语言中标示符的命名、运算符和表达式的应用。 (3) 熟练地掌握Java程序流程控制语句的应用。 二、实验内容 1.编写应用程序,计算100(含100)以内所有偶数的和。 2.“水仙花数”是指一个3位数,其个位、十位、百位上的数字的立方和等于该数 本身,例如371=33+73+13,因此371是一个水仙花数。编写程序,求所有的水仙花 数。 3.编写一个程序,求1-100间的素数。 4. 有一函数: x (x<1) Y= 3x-2 (1≤x<10) 4x (x≥10) 写一程序,给定x值,输出y值。 5. 使用for循环语句,编写程序输出以下图案。 ☆ ☆☆☆ ☆☆☆☆☆ ☆☆☆☆☆☆☆

☆☆☆☆☆ ☆☆☆ ☆ 6.编写程序,输出从公元1900年到2100年所有闰年的年号,每输出5个年号换一行。判断年是否为闰年的条件是:①若年号可以被4整除,而不能被100整除,则是闰年;②若年号可以被400整除,也是闰年。 三、主要仪器设备 使用的计算机惠普:硬件配置Win7、软件环境eclipse 四、实验代码 1. public class a1 { public static void main(String[] args) { int i,sum=0; for(i=0;i<=100;i++){ if(i%2==0) sum+=i;} Syst }} 2. public class a2 { public static void main(String[] args) { int i,a,b,c; for(i=100;i<=999;i++){ a=i%10; b=(i-a)%100/10; c=(i-b*10-a)/100; if(i==a*a*a+b*b*b+c*c*c){ }}}} 3. public class a3 {public static void main(String[] args) { // TODO Auto-generated method stub for(int i=2;i<=100;i++) { boolean t = false; for(int j=2;j=1;i--){ for(j=1;j<=((-1)*i+4);j++) for(j=1;j<=(2*i-1);j++)

Java基本类实验报告

西安邮电大学 (计算机学院) 课内实验报告 实验名称:Java基本类 专业名称:计算机科学与技术 班级:计科1405班 学生姓名:高宏伟 学号:04141152 指导教师:刘霞林 实验日期:2016.11.10

一、实验目的 了解Java 常用的系统类,包括字符串类、System类、数学函数类、日期类、随机数类等的基本使用方法。 二、实验要求 1. 编写一个使用日期类的的程序。 2.编写一个使用日历类和包装类的程序。 3.编写一个使用数学函数的程序。 4.编写一个使用集合框架的程序。 三、实验内容 (一)使用日期类的Applet程序 (1)程序功能:说明3 个日期类Date、Calendar和DateFormat 的使用方式及显示的样式。 (2)编写LX5_1java 程序文件,源代码如下。 import java.text.*; import java.util.*; import java.awt.*; import java.applet.*; public class LX5_1 extends Applet { public void paint(Graphics g) { Date today; Calendar now; DateFormat f1,f2; String s1,s2; 【代码1】; // 获取系统当前日期,存放到today变量 g.drawString("字符串格式:"+today.toString(),20,20); 【代码2】; // 以默认格式生成格式化器,存放到f1变量 【代码3】; // 将日期转换为字符串,存放到s1变量 g.drawString("系统格式:"+s1,20,40); // 生成长格式的中国日期格式化器 f1=DateFormat.getDateInstance(DateFormat.LONG, Locale.CHINA); f2=DateFormat.getTimeInstance(DateFormat.LONG, Locale.CHINA); s1=f1.format(today); // 将日期转换为日期字符串 s2=f2.format(today); // 将日期转换为时间字符串 g.drawString("中国格式:"+s1+" "+s2,20,60); 【代码4】// 通过Calendar类获取系统时间,存放到now变量 s1=now.get(now.HOUR)+" 时"+now.get(now.MINUTE)+" 分"+now.get(now.SECOND)+"秒";

天津理工大学Java实验3实验报告

天津理工大学 计算机科学与工程学院 实验报告 2016 至2017 学年第一学期

三、实验分析总结 本次实验中,主要练习编译了跟抽象类有关的相关程序。其中主要包括已知抽象方法编写抽象类、抽象类抽象方法实现多态性、通过定义多个子类来实现对类的继承。通过本次实验,基本掌握了实现多态的方法,也练习了抽象类和抽象方法的定义和使用。以后也还需要多加练习,能更加熟悉。同时,编写程序中遇到问题再所难免,应耐心探究其中的原因,从出现问题的地方起,并联系前后程序,仔细推敲,逐个排查。直到最终搞清为止。 package ex3; public abstract class Account { protected double balance; public Account(double d) { this.balance=d; } public double getBalance()

{ return this.balance; } public void setBalance(double newBalance) { this.balance=newBalance; } protected void deposit(double amount) { this.balance+=amount; } protected void withdraw(double amount) throws OverdraftException { if(balance customers=new ArrayList(); public BANK() {} public void addCustomer(String first,String last) { CUSTOMER cstm=new CUSTOMER(first,last); customers.add(cstm); } public CUSTOMER getCustomer(int i) { List list=new ArrayList(); Iterator it=customers.iterator(); while(it.hasNext()) { CUSTOMER temp=it.next(); list.add(temp); } return list.get(i-1); }

泛型与集合框架

泛型与集合框架 1.实验目的 1、掌握LinkedList类和Collections类提供的用于排序和查找链表中 的数据的方法 2、掌握用散列映射来存储数据 3、掌握TreeSet类的使用 2.实验内容 1、根据附录里的源代码,完成代码填空,使程序能够运行得出结果。 1)实验1 按身高排序 2)实验2 英汉小字典 3)实验3 演出节目单 4)实验4输出args[]中的单词 2、设计编写程序完成以下任务。 1)仿照实验1编写TV类,要求通过实现Comparable接口规定该类的对象的大小关系,按price值得大小确定大小关系,即电视机按其价格确定之间的大小关系。 2)从控制台输入若干个单词(输入回车结束)放入集合中,将这些单词排序后(忽略大小写)打印出来。 知识点:List接口的实现类、String常用方法 3)请使用LinkedList来模拟一个队列(先进先出的特性): (1)拥有放入对象的方法void put(Object o) (2)取出对象的方法Object get() (3)判断队列当中是否为空的方法boolean isEmpty();并且,编写测试代码,验证你的队列是否正确。 知识点:List接口的实现类LinkedList常用方法 4)在一个列表中存储以下元素:apple,grape,banana,pear (1)返回集合中的最大的和最小的元素 (2)将集合进行排序,并将排序后的结果打印在控制台上 知识点:Collections类中的方法 3.实验步骤 略 4.评分标准 1.A——内容功能完善,编程风格好,人机接口界面好; 2.B——内容功能完善,编程风格良好,人机接口界面良好; 3.C——完成必做内容;

java集合类实验报告

【实验名称】:使用java集合类,判断海量数据段的重复性 【实验目的】: 1.了解java集合类的概念,并对于集合类有大致的理解。 2.掌握使用集合类的方法和技巧,并应用到实际操作中 3.体会java学习的魅力,进一步提升java编程的能力 【实验环境】: Windows 8.1 eclipse jdk8 【实验步骤】: 一.集合类的简单介绍 数组是很常用的一种的数据结构,我们用它可以满足很多的功能,但是,有时我们会遇到如下这样的问题: 1、我们需要该容器的长度是不确定的。 2、我们需要它能自动排序。 3、我们需要存储以键值对方式存在的数据。 如果遇到上述的情况,数组是很难满足需求的,接下来本章将介绍另一种与数组类似的数据结构——集合类,集合类在Java中有很重要的意义,保存临时数据,管理对象,泛型,Web框架等,很多都大量用到了集合类。 常见的集合类有这些种: 实现Collection接口的:Set、List以及他们的实现类。 实现Map接口的:HashMap及其实现类。 二.各集合的学习: 1、Collection接口 Collection是最基本集合接口,它定义了一组允许重复的对象Collection 接口派生了两个子接口Set和List,分别定义了两种不同的存储方式,如下:

编写以下代码: 输出如下图所示: 2.List接口的实现类 List接口继承了Collection接口,因此包含Collection中的所有方法,此外,List接口还定义了以下两个非常重要的方法。 get(int index):获得指定索引位置的元素。 set(int index , Object obj):将集合中指定索引位置的对象修改为指定的对象。 List接口的常用实现类有ArrayList与LinkedList。 ArrayList类实现了可变的数组,允许所有元素,包括null,并可以根据索引位置对集合进行快速的随机访问。缺点是向指定的索引位置插入对象或删除对象的速度较慢。 LinkedList类采用链表结构保存对象。这种结构的优点是便于向集合中插入和删除对象,需要向集合中插入、删除对象时,使用LinkedList类实现的List集合的效率较好;但对于随机访问集合中的对象,使用LinkedList类实现List集合的效率较慢。 利用以上方法编写代码如下:

Java集合框架实验报告材料

大学城市学院实验报告 课程名称 Java高级程序设计 实验项目名称 Java集合框架实验 学生专业班级学号 一、实验目的 1.理解Java集合框架的特点、接口与类之间的关系 2.掌握Java集合框架的List接口,以及List接口的重要实现类LinkedList、 ArrayList 3.掌握Java集合框架的Set、SortedSet接口,以及重要实现类HashSet与TreeSet 4.掌握Java集合框架的Map、SortedMap接口及其重要实现类HashMap、TreeMap 5.掌握Java集合框架的Collection与Iterator接口的特点与使用方式 二、实验容 1、使用List管理对象集合 2、使用Map管理对象集合 3、使用Set管理对象集合 4、设计一个自定义的集合类 三、实验步骤 1、在Eclipse中新建工程(即项目) 2、使用List管理对象集合 1)新建一个包listExample 2)在这个包中新建三个类:Student类,StudentList类,StudentListTest类。 参考代码: Student.java, StudentList.java,StudentListTest.java

3)完善上面三个类,相关要求参考源代码程序的注释,即根据要求修改源代码程 序,给出具体的实现代码(不使用泛型类)。 void addStudent(Student student){//添加一个学生对象 boolean a=true; for(int i=0;i

相关主题