java語言程序設計實驗報告
- java語言
- 關注:9.73K次
篇一: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