java实验四

更新时间:2024-06-27 12:34:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java2程序设计实验报告

实验四 Java编程

班级 B08512 姓名 刘富民 学号 20084051219 日期2011.4.1 成绩评定

1.实验目的

1、 掌握Java语言中数组的定义及应用 2、 掌握Java语言中列表与映射实现类 3、 实现Java语言中数组、列表的排序

2.任务环境

JDK+记事本,MyEclipse开发环境

3.任务内容及步骤

1、 编程实现Box类,包含3个成员变量(整型)表示长、宽、高,成员方法至少包含计算体积。实现

java.util.Comparator接口新建比较器类BoxComparator来进行Box类的体积比较。新建TestBox类在main函数创建Box类型数组boxes,之后使用Arrays.sort方法实现按照体积从小到大排序。(参考上课示例)

另外,也可以实验下将Box对象存放在List中,使用java.util.Collections类的sort方法实现对List排序。(和数组一样,参考下API文档) public class Box{ int length; int width; int high; int volumn;

public void volumn() { this.volumn=this.length*this.high*this.width; }

Box(int l,int w,int h) { this.high=h; this.length=l; this.width=w; } }

import java.util.Comparator;

public class BoxComparator implements Comparator {

1

Java2程序设计实验报告

public int compare(Object o1,Object o2) { Box b1=(Box)o1; Box b2=(Box)o2; if(b1.volumn>b2.volumn) return 1; else if(b1.volumn

import java.util.Comparator; import java.util.Arrays; public class TestBox {

public static void main(String[] args) { Box box[]=new Box[5]; box[0]=new Box(2,2,4); box[1]=new Box(6,2,1); box[2]=new Box(2,5,3); box[3]=new Box(5,2,7); box[4]=new Box(2,2,4); box[0].volumn(); box[1].volumn(); box[2].volumn(); box[3].volumn(); box[4].volumn(); Arrays.sort(box,new BoxComparator()); System.out.println(\刘富民测试:\ System.out.print(\排序后:\ for(int i=0;i<5;i++) System.out.print(box[i].volumn+\ } }

运行结果:

2、 某次考试有若干学生参加(学生对象放在一个List中),每个学生有一个姓名属性、班级名称属性

(String)和考试成绩属性(int),考试结束后每个学生都获得了一个考试成绩。请打印出每个班级的总分和平均分。(假设这些学生属于两个班,每班分别有3名和4名学生,List可选用任一List实现类) 注:遍历List时迭代器next方法获取的或是List的get方法获取的Object类型对象可强制转化为学生类型。public class Student { String name;

2

Java2程序设计实验报告

String clas; int grade;

public void setGrade(int g) { this.grade=g; }

public void printf() { System.out.println(\姓名:\班级:\成绩:\ }

Student(String n,String c,int g ) { this.name=n; this.clas=c; this.grade=g; }

public String getClas() { return this.clas; }

public int getGrade() { return this.grade; } }

import java.util.Iterator; import java.util.List;

import java.util.ArrayList; public class UserArrayList {

public static void main(String args[]) { int GRADE1=0,GRADE2=0; List list=new ArrayList(); Student student[]=new Student[7]; student[0]=new Student(\小王\ list.add(student[0]); student[1]=new Student(\小章\ list.add(student[1]); student[2]=new Student(\小龙\ list.add(student[2]); student[3]=new Student(\刘富民\ list.add(student[3]); student[4]=new Student(\小二\ list.add(student[4]);

3

Java2程序设计实验报告

student[5]=new Student(\小一\list.add(student[5]);

student[6]=new Student(\小三\list.add(student[6]); Iterator it=list.iterator(); while(it.hasNext()) { Student stu=(Student)it.next(); if(stu.getClas()==\ GRADE1=GRADE1+stu.getGrade(); else GRADE2=GRADE2+stu.getGrade(); }

System.out.println(\刘富民测评:\

System.out.println(\总成绩:\平均分:\ System.out.println(\总成绩:\平均分:\; } }

运行结果:

3、 对于2提到的学生类,使用Hashtable建立以学号为键到学生对象的映射,并完成遍历输出每个学生

的姓名。

import java.util.Hashtable; import java.util.Map; import java.lang.*;

public class UseHashTable { public static void main(String args[]) { Map m=new Hashtable(); Student student[]=new Student[7]; student[0]=new Student(\小王\ m.put(\ student[1]=new Student(\小章\ m.put(\ student[2]=new Student(\小龙\ m.put(\ student[3]=new Student(\刘富民\ m.put(\ student[4]=new Student(\小二\ m.put(\ student[5]=new Student(\小一\ m.put(\

4

Java2程序设计实验报告

student[6]=new Student(\小三\ m.put(\ for(int i=0;i

运行结果:

4.实验总结

(1)初步了解了一个简单的Java程序的开发过程。

(2)掌握了面向对象编程的基础知识和类的使用及创建方法。 (3)通过本次试验,熟悉了Java的编程环境MyEclipse。 (4)掌握了虚类的应用以及类的继承和接口的应用。

5

本文来源:https://www.bwwdw.com/article/6583.html

Top