篇一:Java实验八报告
《Java语言程序设计》实验报告
学生姓名: 郭倩
班级:信息112
学号:201152275208
实验地点: 经管实验中心证券实验室
指导教师:赵利平
实验日期:
实验环境:Windows 2000+JDK1.6
1. 实验目的
(1) 理解子类派生的概念
(2) 学习创建子类对象
(3) 掌握方法覆盖的'使用
2.实验内容
(1) 设计三个类:完成实验教材P52页程序清单4-2;
(2)通过编制一个程序来加深对嵌套类、内部类和局部类的理解:完成实验教材P56页程序清单4-3;
2. 实验过程
报告撰写具体要求:上述实验内容要求写出源代码及运行结果。
实验内容(1):
//
abstract class Student{
final static int CourseNo=3;
String name;
String type;
int[] courses;
String courseGrade;
public Student(String name){
=name;
courses=new int[CourseNo];
courseGrade=null;
}
public abstract void calculateGrade();
public String getName(){
return name;
}
public String getType(){
return type;
}
public String getCourseGrade(){
return courseGrade;
}
public int getCourseScore(int courseNumber){
return courses[courseNumber];
}
public void setName(String name){
=name;
}
public void setType(String type){
=type;
}
public void setCourseScore(int courseNumber,int courseScore){ses[courseNumber]=courseScore;
}
}
class Undergraduate extends Student{
public Undergraduate(String name){
super(name);
type="本科生";
}
public void calculateGrade(){
int total=0;
double average=0;
for(int i=0;i<CourseNo;i++){
total+=courses[i];
};
average=total/CourseNo;
if(average>=80&&average<100) coursegrade="优秀" else="" average="">=70&&average<80) coursegrade="良好" else="" average="">=60&&average<70) coursegrade="一般" else="" average="">=50&&average<60) courseGrade="及格";else courseGrade="不及格";
}
}
class Postgraduate extends Student{
public Postgraduate(String name){
super(name);
type="研究生";
}
public void calculateGrade(){
int total=0;
double average=0;
for(int i=0;i<CourseNo;i++){
total+=courses[i];
};
average=total/CourseNo;
if(average>=90&&average<100) coursegrade="优秀" else="" average="">=80&&average<90) coursegrade="良好" else="" average="">=70&&average<80) coursegrade="一般" else="" average="">=60&&average<70) courseGrade="及格";else courseGrade="不及格";
}
}
public class Polymorphism{
public static void main(String[] args){
Student[] students=new Student[5];
students[0]=new Undergraduate("陈建平");
students[1]=new Undergraduate("鲁向东");
students[2]=new Postgraduate("匡晓华");
students[3]=new Undergraduate("周丽娜");
students[4]=new Postgraduate("梁欣欣");
for(int i=0;i<5;i++){
students[i]ourseScore(0,87);
students[i]ourseScore(1,90);
students[i]ourseScore(2,78);
}
for(int i=0;i<5;i++){
students[i]ulateGrade();
}
tln("姓名"+" 类型"+" 成绩");
}}
tln("-------------------------"); for(int i=0;i<5;i++){ tln(students[i]ame()+" "+students[i]ype()+" "+students[i]ourseGrade()); }
(1) 都有
(2) Student[] students=new Student[5];
(3) Student是抽象的,不能用new操作符创建抽象类的实例。
(4)
(5) //
abstract class Student{
final static int CourseNo=3; String name;
String type;
int[] courses;
String courseGrade;
public Student(String name){=name;
courses=new int[CourseNo];courseGrade=null;
}
public abstract void calculateGrade();
public String getName(){return name;
}
public String getType(){
return type;
}
public String getCourseGrade(){return courseGrade;
}
篇二:Java实验八集合
计算机工程学院实验报告
课程名称: Java
指导教师:
实验项目名称: 集合
实验项目编号: 实验八
一、目的(本次实验所涉及并要求掌握的知识点)
班级: 姓名: 学号: 组号: 实验成绩: 上机实践日期: 上机实践时间: ?
?
?
?
List与Iterarot接口 Map与HashMap Set、HashSet与TreeSet 集合框架与Collections
二、实验内容与设计思想(设计思路、主要数据结构、主要代码结构、主要代码段分析、电路图)
题目1:List与Iterarot接口
package NameDao;
import ;
public interface NameDao {
public ListgetNameFromArray(String[] names);
public int searchName(ListnameList, String name);
public boolean removeFromList(ListnameList, int id);
}
package NameDao;
import yList;
import ections;
import ;
public class NameDaoImpl implements NameDao{
@Override
//将数组中的字符串放入列表
public ListgetNameFromArray(String[] names) {
Listlist = new ArrayList();
for (String string : names) {
(string);
}
return list;
}
@Override
//在列表中搜索到与name相同的项目,就返回该name所在的序号,找不到返回-1。 public int searchName(ListnameList, String name) {
return rySearch(nameList, name);
}
@Override
//根据指定id,从列表中移除指定的项目,如果id指定错误(负数或者超出列表最大值)抛出IllegaArgumentException异常,移除成功返回true
public boolean removeFromList(ListnameList, int id) {
if(id<0 id="">=()) {
throw new IllegalArgumentException("参数出错id="+id);
}
ve(id);
return true;
}
public static void main(String[] args) {
NameDaoImpl ndi = new NameDaoImpl();
String names[] = new String[3];
names[0] = "1";
names[1] = "2";
names[2] = "3";
Listlist = new ArrayList();
list = ameFromArray(names);
tln(chName(list, "2"));
veFromList(list, 0);
for (String string : list) {
t(string+" ");
}
}
}
题目2:Map与HashMap
package Student;
import ;
import om;
public class Student {
String name;
int age;
public String getName() {
return name;
} public void setName(String name) { = name; } public int getAge() { return age; } public void setAge(int age) { = age; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + age; result = prime * result + ((name == null) ? 0 : Code()); return result; } @Override public boolean equals(Object obj) { if (this == obj)return true; if (obj == null)return false; if (getClass() != lass())return false; Student other = (Student) obj; if (age != )return false; if (name == null) {if ( != null) return false; } else if (!ls())return false; return true; } public Student(String name, int age) { = name; = age; } @Override public String toString() { return "Student [name=" + name + ", age=" + age + "]"; }
}
package Student;
import yList;
import ections;
import Map;
import ;
import ;
import om;
public class Util {
/**
*
* @param
* @return 返回分布在[0,upLimit]的随机整数
*/
public static int getRandomNumber(int upLimit) {
return new Random()Int(upLimit+1);
}
/**
*
* @param min
* @param max
* @return 返回分布在[min,max]的随机整数
*/
public static int getRandomNumber(int min,int max){
if(min > max){
throw new IllegalArgumentException("min ="+min+">"+ "max="+max);}
return min + new Random()Int(max+1-min);
}
/**
*
* @param min
* @param max
* @return 返回长度在min到max之间随机名字
*/
public static String getRandomName(int min, int max){
StringBuilder sb = new StringBuilder();
int n = getRandomNumber(min, max);
while (n>0) {
nd((char)getRandomNumber('a','z'));
n--;
}
return ring();
}
public static ListgetRandomStudents(int n){
Listlist = new ArrayList();
for(int i = 0; i<n;i++){
(new Student(getRandomName(3,5),getRandomNumber(18,22)));}
return list;
}
public static MapmakeStudentMap(ListstuList) {MapstuMap = new HashMap();
for (Student student : stuList) {
(ame(), student);
}
return stuMap;
}
public static Student searchStudent(MapstuMap, String name) {return (name);
}
public static int searchName(ListstuList, String name) {
return rySearch(stuList, name);
}
public static ListgenerateNameList(int n) {
Listlist = new ArrayList();
for(int i = 0; i < n;i++){
(getRandomName(3,5));
}
return list;
}
public static MapgenerateStudentMap(int n){
MapstuMap = new HashMap();
Liststudents = getRandomStudents(n);
return makeStudentMap(students);
}
}
package Student;