當前位置:學者齋 >

計算機 >java語言 >

java語言程序設計實驗報告

java語言程序設計實驗報告

篇一:Java實驗八報告

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;

  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-hk/jsj/java/0l065z.html