《面向对象程序设计》课程综合性实验报告[1]

合集下载

《 面向对象程序设计》课程设计实验报告

《 面向对象程序设计》课程设计实验报告

《面向对象程序设计》课程设计实验报告指导教师小组成员:专业班级: 2010级计算机科学与技术专业开设时间:2011-2012(一)目录1.任务1 (2)1.1 任务介绍 (2)1.2 小组成员任务分配 (2)1.3.1设计思想及主要流程图 (2)1.3.1主要程序清单 (2)1.3.1 运行结果及分析 (4)1.3.2设计思想及主要流程图 (2)1.3.2主要程序清单 (2)1.3.2 运行结果及分析 (4)1.3.3设计思想及主要流程图 (2)1.3.3主要程序清单 (2)1.3.3 运行结果及分析 (4)2.任务2 (2)2.1 任务介绍 (2)2.2 小组成员任务分配 (2)2.3设计思想及主要流程图 (2)2.3主要程序清单 (2)2.3 运行结果及分析 (4)3收获、体会和建议 (4)任务1.按照要求设计类 1.根据输出设计类设计类就是根据数据封装的要求,抽象出适合的类。

有如下测试程序和测试程序的输出结果,要求设计类Welcome 。

void main() { Welcome we; Welcome you(we); you.Display();you.Set(“Thank you.”);cout<<you.Get()<<endl; you.talk(); you.Display();}测试程序的输出结果如右: 设计类Welcome 的原则 1)在头文件Cpp1.h 中声明类 2)在Cpp1.cpp 中实现类3)使用内联函数定义Display()函数2.使用类改写程序编写一个求方程02=++c bx ax 的根的程序,用三个函数分别求当ac b 42+大于零、等于零和小于零时方程的根。

要求从主函数输入a 、b 、c 的值并输出结果。

使用面向过程的解法一般是把变量设为double 型,适用库函数cmath 进行计算。

请注意:使用面向对象的方法解决这个问题,首先要从解一元二次方程出发,抽象一个代表一元二次方程的类。

面向对象程序设计实验报告1

面向对象程序设计实验报告1
看看这些字符的10进制ascii码哦ascii码一样同一种字符字符怎么参加了数学运算哦是字符对应的ascii码整数2006年级20061719号姓名同组姓名实验日期2010看看这个字符是什么
实验一
实验名称:实验一Visual C++环境
实验目的:
⒈熟悉VC++的集成开发环境,学习运行一个C++程序的步骤。
y=fun(x);
if(y==0)
cout<<"they input num is sushu"<<endl;
else
cout<<"they input num is not sushu"<iostream.h>
#include<math.h>
float fun(float a,float b,float c,float d)
return 0;
3. #include<iostream.h>
void main()
{inta,b,c,d,e;
double score;
a=b=c=d=0;
cin>>score;
while(score>=0)
{
if(score>=90)
a++;
else
if(score>=80)
b++;
else
if(score>=70)
do{
*p=*(--p);
}while( p>s+n);
(*p)=c;
}
return s;
}
int main()

C++面向对象程序设计》实验报告

C++面向对象程序设计》实验报告

《C++面向对象程序设计》实验内容实验1 C++程序设计初步1.实验目的(1)了解在C++编译系统(Visual C++6.0)上如何编辑、编译、连接和运行一个C++程序。

(2)通过运行简单的C++程序, 初步了解C++源程序的结构和特点。

(3)掌握简单C++程序的编写和调试方法。

(4)掌握重载函数的定义方法。

(5)能正确使用引用型变量。

2.实验内容和步骤(1)在Visual C++环境下编译和运行C++程序①先进入Visual C++6.0环境。

②在自己指定的子目录中建立一个名为test.cpp的新文件。

③从键盘输入以下程序int main(){int a,b;c=a+b;cout>> “a+b=”>>a+b;}选择Build→Compile test.cpp命令, 对此源程序进行编译。

观察和分析编译信息。

⑤根据编译信息指出的错误, 修改程序。

再进行编译, 如果还有错, 再重复此过程, 直到编译不出错为止。

⑥选择Build→Build test.exe命令, 对程序进行连接, 如果不出错, 就会生成可执行程序test.exe。

⑦选择Build→Execute test.exe命令, 执行可执行程序test.exe。

观察屏幕的变化。

在输出窗口应显示程序运行结果。

⑧分析结果是否正确, 如果不正确或认为输出格式不理想, 可以修改程序, 然后重新执行以上④和⑧步骤。

改过后的程序:#include<iostream>using namespace std;int add(int x,int y){int z;z=x+y;return(z);}int main(){int a,b,c;cin>>a>>b;c=add(a,b);cout<<"a+b="<<c<<endl;return 0;}实验2 C++对C的扩充(2)编一个程序, 用来求2个或3个正整数中的最大数。

面向对象程序设计的实验报告

面向对象程序设计的实验报告

面向对象程序设计实验报告学号:4100118姓名:邢启晖提交日期:2012-10-13成绩:东北大学秦皇岛分校实验一类与对象一、实验目的1.掌握类的声明。

2.掌握对象的创建。

3.掌握方法的定义和调用。

4.掌握构造函数的使用。

二、实验内容1.编程创建一个Box类,在其中定义三个变量表示一个立方体的长、宽和高,再定义一个方法setDemo对这三个变量进行初始化,然后定义一个方法求立方体的体积。

创建一个对象,求给定尺寸的立方体的体积。

代码:package shiyan1;public class Main {public static void main(String args[]){Box box=new Box();box.setDemo(122,132, 142);System.out.print("立方体的体积:");System.out.println(box.getArea());}}class Box{int length;int width;int heigth;Box(){}void setDemo(int length,int width,int heigth){this.length=length;this.width=width;this.heigth=heigth;}float getArea(){return length*width*heigth;}2.将上题的方法setDemo改用构造函数实现初始化。

代码:package shiyan1;public class Main {public static void main(String args[]){Box box=new Box(123,133,143);System.out.println(box.getArea());}}class Box{int length;int width;int heigth;Box(int length,int width,int heigth){this.length=length;this.width=width;this.heigth=heigth;}float getArea(){return length*width*heigth;}}三、思考题1.一个方法或一个块内定义的变量是否可以在方法外或块外使用?这种变量称为什么?方法的形式参数是否可以在方法之外使用?答:不可以。

面向对象程序设计实验一及实验报告样式

面向对象程序设计实验一及实验报告样式

《面向对象程序设计》实验一实验报告1 实验目的:(1)了解在VC++、C-free中如何编辑、编译、连接和运行一个C++程序;(2)掌握声明类的方法,类和类的成员的概念以及定义对象的方法(3)了解多文件的C++程序结构2 实验任务(1)输入两个整数,将它们按由大到小的顺序输出。

要求使用变量的引用;(2)编写一个程序,将两个字符串连接起来,结果取代第一个字符串;(3)声明Animal 类,数据成员有age,成员函数有SetAge()等。

首先把数据成员声明为公有的,在main()函数中访问,再把它改为私有的,指出在main()函数中访问会出现怎样的情况,如何避免?该程序需要在同一个文件中分别给出类的声明、类的实现、类的演示每部分的代码。

(4)声明日期类,数据成员有year、month、day,成员函数有输出日期、加一天等。

练习使用多文件结构来组织程序。

3 程序清单实验一:#include"iostream"using namespace std;int main(){int i,j;cout<<"input two number"<<endl;cin>>i>>j;swap(i,j);cout<<i<<","<<j<<endl;return 0;}void swap(int &a,int &b){int temp;temp=a;a=b;b=temp;}实验二:#include"iostream"#include"string"using namespace std;int main(){string string1,string2;cout<<"please input two string:";cin>>string1>>string2;string1=string1+string2;cout<<string1<<endl;return 0;}实验三:4 运行结果图1.1 任务一运行结果图2.1任务二运行结果5 总结或感悟(对运行结果所作的分析以及本次调试程序所取得的经验。

面向对象综合性实验报告

面向对象综合性实验报告

综合性实验报告实验名称:综合程序设计专业班级:计算机科学与技术学生姓名:学号指导教师:成绩评定:一、实验目的检验对面向对象中的封装,继承,多态等知识的理解和掌握情况,综合考察利用面向对象知识模拟现实世界活动的能力。

二、实验内容与要求一个大学校园中包括如下人员:Student(学生)、Teacher(教师)、Staff (职员),StudentStaff(既作为学生又兼作助教的成员),定义一个父类Person 作为的基类要求:设计该人员类系统,并编写程序模拟大学生在校园中一天的活动情况,根据需要可适当增加其他类,要求体现出多态性。

三、实验方案与步骤#include<iostream>#include<cstring>using namespace std;class Person{private:char Name[20];int Age;char Sex;public:Person(){cout<<"调用Person类的默认构造函数"<<endl;strcpy_s(Name,"No Name");Age=0;Sex='M';}Person(char* pName,int pAge,char pSex){cout<<"调用Person类的构造函数"<<endl;strcpy_s(Name,pName);Age=pAge;Sex=pSex;}~Person(){cout<<"调用Person类的析构函数"<<endl;}void display(){cout<<"Name:"<<Name<<",Age:"<<Age<<",Sex:"<<Sex;}void action(){cout<<"Have a rest"<<endl;}};class Student:public Person{private:char Major[40];unsigned int IdNumber;unsigned int Level;public:Student(){cout<<"调用Student类的默认构造函数"<<endl;Major[0]='\0';IdNumber=0;Level=0;}Student(char* pName,int pAge,char pSex,char* pMajor,unsigned intpIdNumber,unsigned intpLevel):Person(pName,pAge,pSex){cout<<"调用Student类的构造函数"<<endl;strcpy_s(Major,pMajor);IdNumber=pIdNumber;Level=pLevel;}Student(const Student &student):Person(student){cout<<"调用Student类的拷贝构造函数"<<endl;strcpy_s(Major,student.Major);IdNumber=student.IdNumber;Level=student.Level;}~Student(){cout<<"调用Student类的析构函数"<<endl;}void display(){Person::display();cout<<",IdNumber:"<<IdNumber<<",Major"<<Major<<",Level"<<Level<<end l;}void action(){cout<<"Have a rest"<<endl;}};class Teacher:public Person{private:char Object[40];unsigned int Level;public:Teacher(){cout<<"调用Teacher类的默认构造函数"<<endl;Object[0]='\0';Level=0;}Teacher(char* pName,int pAge,char pSex,char* pObject,unsigned intpLevel):Person(pName,pAge,pSex) {cout<<"调用Teacher类的构造函数"<<endl;strcpy_s(Object,pObject);Level=pLevel;}Teacher(const Teacher &teacher):Person(teacher){cout<<"调用Teacher类的拷贝构造函数"<<endl;strcpy_s(Object,teacher.Object);Level=teacher.Level;}~Teacher(){cout<<"调用Teacher类的析构函数"<<endl;}void display(){Person::display();cout<<",Object:"<<Object<<",Level:"<<Level<<endl;}void action(){cout<<"Have a rest"<<endl;}};class Staff:public Person{private:char HObject[40]; //HObject助教课程char Hname[40]; //Hname该课程教师的名字unsigned int Time; //代课时间public:Staff(){cout<<"调用Staff类的默认构造函数"<<endl;HObject[0]='\0';Hname[0]='\0';Time=0;}Staff(char* pName,int pAge,char pSex,char* pHObject,char* pHname,int pTime):Person(pName,pAge,pSex){cout<<"调用Staff类的构造函数"<<endl;strcpy_s(HObject,pHObject);strcpy_s(Hname,pHname);Time=pTime;}Staff(const Staff &staff):Person(staff){cout<<"调用Staff类的拷贝构造函数"<<endl;strcpy_s(HObject,staff.HObject);strcpy_s(Hname,staff.Hname);Time=staff.Time;}~Staff(){cout<<"调用Staff类的析构函数"<<endl;}void display(){Person::display();cout<<",HObject:"<<HObject<<",Hname"<<Hname<<",Time"<<Time<<endl;}void action(){cout<<"Have a rest"<<endl;}};class StudentStaff:public Student,public Staff{private:int number; //所代课程的数目public:StudentStaff(){cout<<"调用studentstaff类的默认构造函数"<<endl;number=0;}StudentStaff(char* pName,int pAge,char pSex,char* pMajor,unsigned int pIdNumber,unsigned int pLevel,char* pHObject,char* pHname,intpTime,int pnumber:Student(pName,pAge,pSex,pMajor,pIdNumber,pLevel) {cout<<"调用StudentStaff类的构造函数"<<endl;number=pnumber;}~StudentStaff(){cout<<"调用StudentStaff类的析构函数"<<endl;}void display(){Person::display();cout<<",number:"<<number<<endl;}void action(){cout<<"Have a rest"<<endl;}};int main(){Person per;Student stu("zhao",'M',19,"computer",200641,2);Teacher tea("wang",'M',50,"math",2);Staff sta("chen",24,'M',"chemical","ding",46);StudentStaff SS("li",21,'M',"English",9,79,"English","wang",52,1);//输出所有相关的信息per.display();stu.display();tea.display();sta.display();SS.display();//输出学生一天的活动情况per.action();stu.action();tea.action();sta.action();SS.action();return 0;}PersonStudent Teacher Staffstudentstaff四、实验结果调用Person类的默认构造函数调用Person类的构造函数调用Student类的构造函数调用Person类的构造函数调用Teacher类的构造函数调用Person类的构造函数调用Staff类的构造函数调用Person类的构造函数调用Student类的构造函数调用Person类的默认构造函数调用Staff类的默认构造函数调用StudentStaff类的构造函数Name:No Name,Age:0,Sex:MName:zhao,Age:77,Sex:,IdNumber:200641,Majorcomputer,Level2Name:wang,Age:77,Sex:2,Object:math,Level:2Name:chen,Age:24,Sex:M,HObject:chemical,Hnameding,Time46Name:li,Age:21,Sex:M,number:1Have a restHave a restHave a restHave a restHave a rest调用StudentStaff类的析构函数调用Staff类的析构函数调用Person类的析构函数调用Student类的析构函数调用Person类的析构函数调用Staff类的析构函数调用Person类的析构函数调用Teacher类的析构函数调用Person类的析构函数调用Student类的析构函数调用Person类的析构函数调用Person类的析构函数五、实验总结C++语言兼有高级语言与汇编语言的优点,语言简洁,程序执行效率高,可执行访问物理地址,具有良好的可读性和可移植性;对C的类型系统进行了改革和扩充; C++也支持面向过程设计,不是一个纯正的面向对象的语言。

面向对象程序设计实验报告一

面向对象程序设计实验报告一

课程实验报告课程名称:面向对象程序设计实验名称:面向过程的整型栈编程院系:计算机科学与技术专业班级:CS1203学号:U201214884姓名:肖双指导教师:马光志2015 年 1 月 6 日一、需求分析1.题目要求整型栈是一种先进后出的存储结构,对其进行的操作通常包括判断栈是否为空、向栈顶添加一个整型元素、出栈等。

整型栈类型及其操作函数采用非面向对象的纯C语言定义,请将完成上述操作的所有函数采用纯C语言编程,然后写一个main函数对栈的所有操作函数进行测试。

struct STACK{int *elems; //申请内存用于存放栈的元素int max; //栈能存放的最大元素个数int pos; //栈实际已有元素个数,栈空时pos=0;};void initSTACK(STACK *const p, int m); //初始化p指向的栈:最多m个元素void initSTACK(STACK *const p, const STACK&s); //用栈s初始化p指向的栈int howMany (const STACK *const p); //返回p指向的栈的实际元素个数posSTACK *const push(STACK *const p, int e); //将e入栈,并返回pSTACK *const pop(STACK *const p, int &e); //出栈到e,并返回pSTACK *const assign(STACK*const p, const STACK&s); //赋s给p指的栈,并返回p void print(const STACK*const p); //打印p指向的栈void destroySTACK(STACK*const p); //销毁p指向的栈2.需求分析按题目要求定义一个栈,并完成对栈的各种操作。

二、系统设计1.概要设计1)定义一个整型栈2)完成下列函数:void initSTACK(STACK *const p, int m); //初始化p指向的栈:最多m个元素void initSTACK(STACK *const p, const STACK&s); //用栈s初始化p指向的栈int howMany (const STACK *const p); //返回p指向的栈的实际元素个数posSTACK *const push(STACK *const p, int e); //将e入栈,并返回pSTACK *const pop(STACK *const p, int &e); //出栈到e,并返回pSTACK *const assign(STACK*const p, const STACK&s); //赋s给p指的栈,并返回p void print(const STACK*const p); //打印p指向的栈void destroySTACK(STACK*const p); //销毁p指向的栈3)创建主函数,测试上述函数。

面向对象程序设计实验报告

面向对象程序设计实验报告

面向对象程序设计实验报告实验报告(1)2015.6【实验作者】学号:姓名:班级:教学站:【实验名称】实验一:熟悉C++程序的风格和C++程序的上机全过程【实验目的】1.熟悉C++程序的风格,熟悉实验环境。

2.练习C++程序的输入、修改、编译、连接与运行的全过程。

3.本实验有4个程序【实验内容】1. 习题2.2下面是一个C程序,改写它,使它采用C++风格的I/O语句。

(1)该程序做什么工作?输入两个整数,求两个整数的大于1 的最小公约数[(另外请教下毛老师:如果最小公约数与最小数相等时,我觉得也有可能这个数是两个数的大于1 的最小公约数)即7与14的公约数为1,7按题意的话,要大于1,那么7也是这两个数的最小公约数,但程序不认为它们具有公约数]。

(2)该程序中那几个数是由键盘输入的?那几个数是输出的?那几个数是临时变量?a与b 由键盘输入;d 是输出的;a,b,d,min 都是临时变量。

(3)用C++风格的I/O语句是什么?#include <iostream.h> cout<<与cin>>(4)写出该程序的算法(用流程图表示)框图1:(5)该程序你有否上机编译、连接、运行通过。

有上机编译连接并运行通过,但有些疑问!2. 习题 2.20分析下面程序的输出结果:(1)该程序做什么工作?利用引用函数改变一个变量的值。

(2)该程序有几个函数?其中f函数是什么函数?其功能是什么?一个函数,F函数是一个引用返回值的函数,并且该函数参数也为一个引用,函数功能是送入一个对变量引用,将变量+10后送回。

成为对返回值的引用。

(3)写出该程序的算法(用流程图表示)框图2:(4)该程序你有否上机编译、连接、运行通过。

该程序有上机编译并连接运行通过。

3. 习题2.23 建立一个被称为sroot( )的函数,返回其参数的二次根。

重载sroot( )三次,让它分别返回整数、长整数与双精度数的二次根(为了实际计算二次根,可以使用标准库函数sqrt( ))。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语法、语义正确
解析完整
实验结果正确
文字流畅
报告规范
题解正确
其他:
评价教师签名:
年月日
if(j1.showOpenDialog(NoteBook.this)==JFileChooser.APPROVE_OPTION){
String open=j1.getSelectedFile().getPath();
//------------------------判断打开文件是否为空
if(open==null){
(二)、实验总结:
Java语言是现在最流行的编程语言之一,它具有面向对象、与平台无关、安全、多线程等特点。在此次实验中,使用NetBeans集成开发环境,编辑界面简单实用、易于修改。
在编写文件的打开、保存、退出菜单项和文字的字体、颜色时,遇到了调用对话框的问题,如:输入、输出时异常的抛出等,通过查阅大量资料都得到了解决。
起初对于快捷菜单的弹出位置没有进行设置,在使用了getX()、getY()方法后解决了这一问题。
通过综合性实验的编写,引起了我对Java语言的很大兴趣,在今后的学习过程中讲进一步对Java进行系统、全面的了解与掌握。
教师评价
评定项目
A
B
C
D
评定项目
A
B
C
D
算法正确
界面美观,布局合理
程序结构合理
操作熟练
具体要求:基本的文本录入,字符修改,删除,换行,粘贴,复制,剪切等功能,主要包括:
1.菜单栏设计及功能实现:菜单栏主要包括文件、编辑、格式、帮助等常见菜单。
其中文件菜单有新建、打开、保存、另存为、退出等功能;编辑菜单有剪切、复制、粘贴、查找和查找替换等功能;格式菜单含有对文字字体、字型、字号及颜色等的设置功能。
图5:保存已修改对话框
2、编辑菜单下:
(1)、剪切、复制、粘贴,删除菜单项(CutActionPerformed、CopyActionPerformed、PasteActionPerformed、DeleteActionPerformed)分别实现文本域中选中文字的修改。
(2)、全选菜单项(SelectAllActionPerformed)实现文本域中所输入文字的选定。
return;
}
try{
//------------------实现字符文件的读取
FileReader n1=new FileReader(open); //创建FileReader类的对象实例
char[] c1=new char[4000];
int neirong1;
//-------------------------从新创建的文件输入流中读取数据,存入文本域
其中,在菜单条上添加菜单和菜单项:
1、文件菜单(FileMenu):新建(New)、打开(Open)、保存(Save)、另存为(SaveAS)、退出(Exit);
2、编辑菜单(EditMenu):全选(SelectAll)、剪切(Cut)、复制(Copy)、粘贴(Paste)、删除(Delete);
图8、字体对话框
(2)、颜色菜单项(ColorActionPerformed),单击该项,显示颜色对话框,用户通过该对话框选择文字颜色,如图:图9Biblioteka 颜色对话框4、帮助菜单下:
单击帮助于关于菜单项,分别显示帮助与关于窗体。其中,帮助窗体显示有关写字板的帮助信息,关于窗体显示写字板的制作人、制作日期等内容。
3、格式菜单(StyleMenu):字体(Font)、颜色(Color);
4、帮助菜单(HelpMenu):帮助(Help)、关于(About)。总布局如下图:
图1:写字板界面
其次,添加各菜单项的事件:
一、文本域:
1、文本域内有键按下时窗体标题改变(jTextArea1KeyTyped),此时窗体标题变为:“未命名*”。
(3)、查找和替换菜单项(FindButtonActionPerformed、ReplaceButtonActionPerformed)实现文字的查找和替换功能。如图:(替换对话框与查找类似,这里不予显示)
图6:查找对话框
3、格式菜单下:
(1)、字体菜单项(FontActionPerformed),单击该项,显示字体、字体式样、字号对话框,如图:
}
}
//-------------------------捕捉发生的异常
catch(IOException io){
jTextArea1.setText("IOException:"+io.getMessage());
}
}
else{
return;
}
(3)、保存与另存为菜单项(SaveActionPerformed、SaveAsActionPerformed),单击这两项时,显示保存对话框,如图:
华北科技学院计算机系综合性实验
实验报告
课程名称面向对象程序设计
实验学期2007至2008学年第1学期
学生所在系部计算机系
年级06级专业班级
学生姓名学号
任课教师
实验成绩
计算机系制
《面向对象程序设计》课程综合性实验报告
开课实验室:软件实验室2007年12月15日
实验题目
简易写字板软件设计
一、实验目的
通过编写Java的应用系统综合实例——简易写字板软件,总结、回顾和实践面向对象的编程思想以及编程方法,并通过编写程序来掌握Java语言编程技巧,将学习到的知识融会贯通,同时提高调试程序的能力,养成良好的编程习惯,并增强对程序设计整体思路的把握。
2.编辑区设计:对文本的编辑处理区。
3.工具栏设计:可根据需要增加该项功能。
4.其他功能设计。
四、实验结果及分析
通过此次Java综合性实验,我对Java有了系统的了解。
(一)实验分析
首先,在设计Java写字板的时候,使用Net Beans集成开发环境,对写字板整体布局进行了布置:在新建窗体(JFrame)上加入了菜单条(jMenuBar1)、文本域(jTextArea1)以及快捷菜单(jPopupMenu1)。
2、在文本域内单击鼠标右键弹出快捷菜单(jTextArea1MouseReleased),并且弹出的快捷菜单在鼠标点击的位置显示。
图2:文本域内快捷菜单
二、菜单条:
1、文件菜单下:
(1)、新建菜单项(NewActionPerformed),单击该项时,写字板标题改变为“无标题-写字板”,并且清空文本域内容。
while((neirong1=n1.read(c1,0,c1.length))!=-1){
jTextArea1.setDocument(new PlainDocument());
jTextArea1.append(new String(c1,0,neirong1));
setTitle(j1.getSelectedFile().getPath());
程序使用Net Beans集成开发环境完成,熟悉并掌握在Net Beans开发环境下编写Java程序。
二、设备与环境
硬件:多媒体计算机
软件:Windows 2000以上的操作系统、JDK开发包、Net Beans开发环境
三、实验内容
总体要求:程序界面友好,代码的可维护性好,包括必要的注释和相应的文档。
图4:保存与另存为对话框
实现保存与另存为的方法与打开类似,在进行对话框调用时显示保存对话框。用户同样可以选择保存文件的文件名、保存路径。
如果文件不存在,程序执行时,系统将抛出IOException异常,被catch语句捕捉到,进行相应的处理。并且使用close()方法关闭输出流。
(4)、退出菜单项(ExitActionPerformed),单击该项,显示是否保存已修改对话框,如图:
主要源代码如下:
setTitle("无标题-写字板");
jTextArea1.setText("");
(2)、打开菜单项(OpenActionPerformed),单击该项时,显示打开对话框,用户可以自行选择要保存的文件名称、路径。如图:
图3:打开对话框
主要源代码如下:
JFileChooser j1=new JFileChooser();
相关文档
最新文档