淮海工学院java实验二.docx

上传人:b****8 文档编号:28582598 上传时间:2023-07-19 格式:DOCX 页数:20 大小:151.29KB
下载 相关 举报
淮海工学院java实验二.docx_第1页
第1页 / 共20页
淮海工学院java实验二.docx_第2页
第2页 / 共20页
淮海工学院java实验二.docx_第3页
第3页 / 共20页
淮海工学院java实验二.docx_第4页
第4页 / 共20页
淮海工学院java实验二.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

淮海工学院java实验二.docx

《淮海工学院java实验二.docx》由会员分享,可在线阅读,更多相关《淮海工学院java实验二.docx(20页珍藏版)》请在冰豆网上搜索。

淮海工学院java实验二.docx

淮海工学院java实验二

淮海工学院

计算机工程学院

实验报告书

课程名:

《面向对象程序设计A》

题目:

实验二Java面向对象编程初步

(2)______

班级:

____软嵌151

学号:

2015123352

姓名:

韩吉_

 

一.实验目的

(1)通过实验,进一步掌握类的定义,尤其是类中方法(包含构造方法)的定义。

掌握对象的创建方法及对象成员变量和方法的调用;

(2)通过编写图形界面的程序,完成对象的创建和调用;(3)能够通过类图来描述程序中类的结构。

二. 实验内容及要求

(1)定义教师类Teacher,包含属性工号,姓名,性别,所在部门,职称,职位,专业,学历;定义若干个构造方法,完成对象的各种初始化需要;定义若干个分别能够获取和修改成员变量的方法,如获取工号/修改工号;获取学历/修改学历等;定义toString()方法,能够输出教师的所有相关信息。

(40分)

(2)编写字符界面的程序,能够创建若干个教师对象,并输出教师的相关信息;(20分)

(3)要求在报告中能够画出类图来描述类的结构(15分)

(4)编写图形界面的程序,能够创建若干个教师对象,并输出教师的相关信息。

(25分)

可以参照实验指导书中第二个实验的最后一个程序示例。

三. 实验步骤

publicclassTeacher{

Stringnumber;//工号

Stringteachername;//姓名

intage;//年龄

Stringsex;//性别

Stringdegree;//学位

Stringtitle;//职称

Stringposition;//职位

Stringdepart;//部门

Stringmajor;//专业

staticStringcollegeName="淮海工学院";

Teacher(Stringnumber){

this.number=number;

}

Teacher(Stringnumber,Stringteachername){

this(number);

this.teachername=teachername;

}

Teacher(Stringnumber,Stringteachername,intage){

this(number,teachername);

this.age=age;

}

Teacher(Stringnumber,Stringteachername,intage,Stringsex){

this(number,teachername,age);

this.sex=sex;

}

Teacher(Stringnumber,Stringteachername,intage,Stringsex,Stringdegree){

this(number,teachername,age,sex);

this.degree=degree;

}

Teacher(Stringnumber,Stringteachername,intage,Stringsex,Stringdegree,Stringtitle){

this(number,teachername,age,sex,degree);

this.title=title;

}

Teacher(Stringnumber,Stringteachername,intage,Stringsex,Stringdegree,Stringtitle,Stringposition){

this(number,teachername,age,sex,degree,title);

this.position=position;

}

Teacher(Stringnumber,Stringteachername,intage,Stringsex,Stringdegree,Stringtitle,Stringposition,Stringdepart){

this(number,teachername,age,sex,degree,title,position);

this.depart=depart;

}

Teacher(Stringnumber,Stringteachername,intage,Stringsex,Stringdegree,Stringtitle,Stringposition,Stringdepart,Stringmajor){

this(number,teachername,age,sex,degree,title,position,depart);

this.major=major;

}

publicvoidsetdegree(Stringnewdegree){

degree=newdegree;

}

publicvoidsettitle(Stringnewtitle){

title=newtitle;

}

publicvoidsetposition(Stringnewposition){

position=newposition;

}

publicvoidSetdepart(Stringnewdepart){

depart=newdepart;

}

publicstaticStringgetCollegeName(){

returncollegeName;

}

publicstaticvoidsetCollegeName(StringnewCollegeName){

collegeName=newCollegeName;

}

publicStringtoString(){

return"工号:

"+number+";姓名:

"+teachername+";年龄:

"+age+";性别:

"+

""+sex+";学位:

"+degree+";专业:

"+major+";职称:

"+title+

";职位:

"+position+"所在部门:

"+depart+";所在大学"+collegeName;

}

}

importjava.util.Scanner;

publicclasstestTeacher

{

publicstaticvoidmain(Stringargs[])

{

intcount=0;

Scannerscanner=newScanner(System.in);

Teacher[]teachers=newTeacher[80];

//创建Teacher对象,表示汪老师

Teacherwang=newTeacher("1996000021","汪前进",45,"男","硕士","软件工程","副教授","系主任","软件工程系");

teachers[count++]=wang;

//创建Teacher对象,表示张老师

Teacherzhang=newTeacher("2006000037","张键",38,"男","博士","计算机硬件","副教授","处长","计算机科学系");

teachers[count++]=zhang;

//创建Teacher对象,表示董老师

Teacherdong=newTeacher("1981000038","董剑利",58,"男","硕士","数据结构","教授","班主任","软件工程系");

teachers[count++]=dong;

//创建Teacher对象,表示戴老师

Teacherdai=newTeacher("2008000053","戴志强",40,"男","博士","机械自动化","副教授","副院长","机械工程系");

teachers[count++]=dai;

//创建Teacher对象,表示樊老师

Teacherfan=newTeacher("2002000018","樊玲",35,"女","硕士","法学","讲师","辅导员","软件工程系");

teachers[count++]=fan;

//创建Teacher对象,表示李老师

Teacherli=newTeacher("2009000035","李志敏",34,"女","博士","船舶与海洋","副教授","副院长","海洋工程系");

teachers[count++]=li;

//输出所有的教师的信息

count--;

for(inti=0;i<=count;i++)

System.out.println(teachers[i]);

//以下按姓名查找老师

System.out.println("请输入待查找的老师姓名:

");

while(scanner.hasNextLine())

{

booleanfind=false;

StringteacherName=scanner.nextLine();

for(inti=0;i<=count;i++)

{

if(teachers[i].teachername.contains(teacherName))

{find=true;

System.out.println("找到"+teacherName);

System.out.println(teachers[i]);

}

}

if(find==false)

System.out.println("未找到该教师!

!

");

}

}

}

 

publicclassTeacher

{

Stringtno;//教师工号

Stringtname;//教师姓名

intage;//年龄

Stringtsex;//性别

Stringtdegree;//学位

Stringttitle;//职称

Stringtdept;//所在部门

staticStringcollegeName="淮海工学院";

//定义了若干个构造函数,相互可以调用

Teacher(Stringtno)

{this.tno=tno;}

Teacher(Stringtno,Stringtname)

{this(tno);

this.tname=tname;

}

Teacher(Stringtno,Stringtname,intage)

{this(tno,tname);

this.age=age;

}

Teacher(Stringtno,Stringtname,intage,Stringtsex)

{this(tno,tname,age);

this.tsex=tsex;

}

Teacher(Stringtno,Stringtname,intage,Stringtsex,Stringtdegree)

{this(tno,tname,age,tsex);

this.tdegree=tdegree;

}

Teacher(Stringtno,Stringtname,intage,Stringtsex,Stringtdegree,Stringttitle)

{this(tno,tname,age,tsex,tdegree);

this.ttitle=ttitle;

}

Teacher(Stringtno,Stringtname,intage,Stringtsex,Stringtdegree,Stringttitle,Stringtdept)

{this(tno,tname,age,tsex,tdegree,ttitle);

this.tdept=tdept;

}

publicvoidsetDegree(StringnewDegree)

{

tdegree=newDegree;

}

publicvoidsetTitle(StringnewTitle)

{

ttitle=newTitle;

}

publicstaticStringgetCollegeName()

{

returncollegeName;

}

publicstaticvoidsetCollegeName(StringnewCollegeName)

{

collegeName=newCollegeName;

}

 

publicStringtoString()

{

return"工号:

"+tno+";姓名:

"+tname+";年龄:

"+age+";性别:

"+tsex+";学位:

"+tdegree+";\n职称:

"+ttitle+";所在部门"+tdept+";所在大学"+collegeName;

}

}

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

classmyFrameextendsJFrameimplementsActionListener

{

JLabellblTno,lblTname,lblTage,lblTsex,lblTdegree,lblTtitle,lblTdept;

JTextFieldtxtTno,txtTname,txtTage,txtTsex,txtTdegree,txtTtitle,txtTdept;

JButtonbtnCreate,btnSearch,btnshowAll;

JLabelprompt;

JTextAreajta;

ButtonGroupgroup=newButtonGroup();

JRadioButtonradio1=newJRadioButton("男");

JRadioButtonradio2=newJRadioButton("女");

Teacher[]teachers=newTeacher[80];

intcount=0;

 

myFrame()

{

setTitle("创建教师对象,并查找");

setLayout(newFlowLayout());

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

lblTno=newJLabel("请输入工号:

");

txtTno=newJTextField(10);

add(lblTno);add(txtTno);

lblTname=newJLabel("请输入姓名:

");

txtTname=newJTextField(10);

add(lblTname);add(txtTname);

lblTage=newJLabel("请输入年龄:

");

txtTage=newJTextField(10);

add(lblTage);add(txtTage);

//lblTsex=newJLabel("请输入性别:

");

//txtTsex=newJTextField(10);

//add(lblTsex);add(txtTsex);

add(newJLabel("性别:

"));

group.add(radio1);

group.add(radio2);

add(radio1);

add(radio2);

lblTdegree=newJLabel("请输入学位:

");

txtTdegree=newJTextField(10);

add(lblTdegree);add(txtTdegree);

lblTtitle=newJLabel("请输入职称:

");

txtTtitle=newJTextField(10);

add(lblTtitle);add(txtTtitle);

lblTdept=newJLabel("请输入部门:

");

txtTdept=newJTextField(10);

add(lblTdept);add(txtTdept);

 

btnCreate=newJButton("创建教师");

btnSearch=newJButton("按姓名查询教师");

btnshowAll=newJButton("显示所有教师");

add(btnCreate);add(btnSearch);add(btnshowAll);

prompt=newJLabel("");

jta=newJTextArea(40,60);

add(prompt);add(jta);

btnCreate.addActionListener(this);

btnSearch.addActionListener(this);

btnshowAll.addActionListener(this);

}

 

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==btnCreate)

{

Stringsex=newString();

if(radio1.isSelected())

{

sex=radio1.getText().toString();

}

else

{

sex=radio2.getText().toString();

}

Teacherteacher=newTeacher(txtTno.getText(),txtTname.getText(),Integer.parseInt(txtTage.getText()),sex,txtTdegree.getText(),txtTtitle.getText(),txtTdept.getText());

teachers[count++]=teacher;

prompt.setText("成功创建"+"第"+count+"个教师!

!

!

");

}

if(e.getSource()==btnshowAll&&count>0)

{

jta.setText("");

for(inti=0;i

{

jta.append(teachers[i]+"\n");

}

}

if(e.getSource()==btnSearch)

{

jta.setText("");

booleanfind=false;

StringteacherName=txtTname.getText();

for(inti=0;i

if(teachers[i].tname.equals(teacherName))

{

find=true;

prompt.setText("找到"+teacherName);

jta.append(teachers[i]+"\n");

}

if(find==false)

{

prompt.setText("未找到该教师!

!

!

");;

}

}

}

}

publicclasstestTeacher

{

publicstaticvoidmain(Stringargs[])

{

myFramemf=newmyFrame();

mf.setSize(800,600);

mf.setVisible(true);

}

 

}

四.实验结果(请自己补充完整)

五.实验的分析体会(请自己补充完整)

对于此次试验,本来要求较简单,老师也把代码发给学生,但我本来想将职称之类弄成下拉菜单,但做好后发现无法读入选中的内容,我也不会。

如下:

附上错误代码:

importjava.awt.*;

importjavax.swing.*;

importjava.awt.event.*;

importjava.awt.CheckboxGroup;

importjava.awt.Checkbox;

importjava.awt.CheckboxMenuItem;

 

classmyFrameextendsJFrameimplementsActionListener

{

//StringtxtTsex,txtTdegree,txtTtitle,txtTdept;

JLabellblTno,lblTname,lblTage;

JTextFieldtxtTno,txtTname,txtTage;

JButtonbtnCreate,btnSearch,btnshowAll;

JLabelprompt;

JTextAreajta;

JComboBoxcomBox1,comBox2,comBox3;//下拉菜单

ButtonGroupgroup;

JRadioButtonradio1,radio2;

Teacher[]teachers=newTeacher[80];

intcount=0;

 

myFrame()

{

setTitle("创建教师对象,并查找");

setLayout(newFlowLayout());

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

lblTno=newJLabel("请输入工号:

");

txtTno=newJTextField(10);

add(lblTno);add(txtTno);

lblTname=newJLabel("请输入姓名:

");

txtTna

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 外语学习 > 英语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1