JAVA调试环境及异常处理程序实验报告.docx

上传人:b****6 文档编号:4784075 上传时间:2022-12-08 格式:DOCX 页数:14 大小:55.66KB
下载 相关 举报
JAVA调试环境及异常处理程序实验报告.docx_第1页
第1页 / 共14页
JAVA调试环境及异常处理程序实验报告.docx_第2页
第2页 / 共14页
JAVA调试环境及异常处理程序实验报告.docx_第3页
第3页 / 共14页
JAVA调试环境及异常处理程序实验报告.docx_第4页
第4页 / 共14页
JAVA调试环境及异常处理程序实验报告.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

JAVA调试环境及异常处理程序实验报告.docx

《JAVA调试环境及异常处理程序实验报告.docx》由会员分享,可在线阅读,更多相关《JAVA调试环境及异常处理程序实验报告.docx(14页珍藏版)》请在冰豆网上搜索。

JAVA调试环境及异常处理程序实验报告.docx

JAVA调试环境及异常处理程序实验报告

数学与计算科学学院

实验报告

实验项目名称JAVA调试环境及异常处理程序

所属课程名称面向对象技术

实验类型设计型

实验日期2014.4.1

班级信计12-2

学号201253100220

姓名马新宇

成绩

 

一、实验概述:

【实验目的】

1.了解Java语言的特点;熟悉Java编译和类加载的命令。

2.掌握Java简单程序的编写。

3.掌握JavaApplet程序的调试与实现。

4.掌握Java异常的概念及分类。

5.掌握抛出异常语句的使用(throw)及捕捉处理异常语句的使用(try…catch)。

6.掌握上抛异常语句的使用(throws)。

7.掌握自定义异常类的创建方法。

【实验原理】

1.含有Applet的网页的HTML文件代码中部带有这样一对标记,支持Java的网络浏览器遇到这对标记时,就将下载相应的小应用程序代码并在本地计算机上执行该Applet。

JavaApplet是用Java语言编写的一些小应用程序,这些程序是直接嵌入到页面中,由支持Java的浏览器(IE或Netscape)解释执行能够产生特殊效果的程序。

当Applet用户访问这样的网页时,Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络浏览器。

由于Applet是在用户的计算机上执行的,所以它的执行速度受网络带宽或者Modem存取速度的限制,用户可以更好地欣赏网页上Applet产生的多媒体效果。

2.Java中,类加载器把一个类装入Java虚拟机需要经过三个步骤来完成:

装载:

查找和导入.class文件

链接:

检查装入.class文件的正确性,然后,Java虚拟机为变量分配内存,设置默认值

初始化:

把符号引用变成直接引用。

3.每当产生异常后,如果没有程序进行相应的处理,则程序会中断的现象。

那么,此时实际上一旦产生一个异常之后,JVM会抛出一个异常类的实例化对象,如果此时使用了try语句进行捕获的话,则可以进行异常处理,如果没有的话,则交给JVM进行处理,当try语句捕获到了异常之后,会与catch中的异常类型进行匹配,如果匹配成功,则使用此catch语句进行处理。

【实验环境】

MicrosoftwindowsXPprofessional

Microsoftoffice2007

Microsoftvisualj++6.0

JDK

二、实验内容:

【实验方案】

1.建立classstudent类,用于输入学生相关信息,类中包括姓名、学号、年龄,还定义三个方法:

姓名输入的方法voidsetName(Stringy)、学号输入方法voidsetId(intx)及输出方法publicStringtoString()

2.定义主类publicclassAAextendsAppletimplementsActionListener,调用了publicvoidinit(){}对输入输出界面进行处理,publicvoidactionPerformed(ActionEvente)方法用于显示相关界面

3.用JDK6.0环境建立连续空间,编译程序。

自定义一个异常类,处理用户程序中特定的逻辑运行错误。

用try块定义可能出现的异常,用catch语句捕捉和处理try块中的异常语句。

try

{可能抛出异常语句;}

catch

{异常处理语句组;}

【实验过程】(实验步骤、记录、数据、分析)

1.在桌面建立自己的工作目录;

2.启用j++6.0开发软件,创建j++工程并命名,当进入编辑窗口时,先进行保存操作,存于桌面自己创建的工作目录,该文件名必须与主类名相同,即WE.java,然后才编写JavaApplet程序;

3.测试JavaApplet程序,源代码程序编译如果出错,按出错信息查找源文件中的错误并进行修改。

修改后又重新运行该命令进行重新编译,直到编译成功。

编译好以后的程序:

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassWEextendsAppletimplementsActionListener

{

Labelpr1,pr2,pr3;

TextFieldt1,t2,t3;

Buttonb;

Students;

Stringmsg;

publicvoidinit()

{

pr1=newLabel("姓名:

");

pr2=newLabel("学号:

");

pr3=newLabel("年龄:

");

t1=newTextField(8);

t2=newTextField(8);

t2=newTextField(8);

b=newButton("确定");

b.addActionListener(this);

add(pr1);add(t1);

add(pr2);add(t2);

add(pr3);add(t3);

add(b);

s=newStudent();

msg="";

}

}

publicvoidactionPerformed(ActionEvente)

{

s.setId(Integer.parseInt(t2.getText()));

msg=s.toString();

repaint();

}

publicvoidpaint(Graphicsg)

{

g.drawString(msg,100,100);

}

}

classStudent

{

Stringname;

longid;

intage;

voidsetId(intx)

{

id=x;

}

voidsetAge(intz)

{

Age=z;

}

publicStringtoString()

{

return"姓名:

"+name+"学号:

"+id+"年龄:

"+age;

}

}

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassWEextendsAppletimplementsActionListener

{

Labelpr1,pr2;

TextFieldt1,t2;

Buttonb;

Students;

Stringmsg;

publicvoidinit()

{

pr1=newLabel("姓名:

");

pr2=newLabel("学号:

");

t1=newTextField(7);

t2=newTextField(7);

b=newButton("OK");

b.addActionListener(this);

add(pr1);add(t1);

add(pr2);add(t2);

add(b);

s=newStudent();

msg="";

}

publicvoidactionPerformed(ActionEvente)

{

s.setId(Integer.parseInt(t2.getText()));

msg=s.toString();

repaint();

}

publicvoidpaint(Graphicsg)

{

g.drawString(msg,100,100);

}

}

classStudent

{

Stringname;

longid;

intage;

voidsetId(intx)

{

id=x;

}

publicStringtoString()

{

return"姓名:

"+name+"学号:

"+id;

}

}

classNegativeExceptionextendsException

{

}

4.然而编写好的程序并不完全,比如说学号输入为零或负数时,会照原样输出;学号输入字符时,程序却没反应。

这并不适合我们的使用,为此,我们使用java提供的异常类,使程序更完善。

Java提供了异常处理机制,当程序中发生异常时,程序产生一个异常事件,相应地生成异常对象。

系统从生成对象的代码开始,沿方法的调用栈逐层回溯,寻找相应的处理代码,并把异常对象交给该方法处理。

运行程序发现在学号输入框中输入字符时,程序无反应。

分析源代码s.setId(Integer.parseInt(t1.getText()));可知执行时会出现NumberFormatException异常。

修改程序为

publicvoidactionPerformed(ActionEvente)

{

Try

{

s.setId(Integer.parseInt(t2.getText()));

msg=s.toString();

}

catch(NumberFormatExceptionee)

{

msg="学号必须是数字!

";

}

}

try块启动Java的异常处理机制,catch接收try块中可能产生的异常。

对于输入负数,输出也是这个负数的情况,需要自己定义异常类

classNegativeExceptionextendsException

{

}

学号输入出也相应改变为

voidsetId(intx)throwsNegativeException

{

if(x>0)

id=x;

elsethrownewNegativeException();

}

程序出再添加个catch语句,如下所示:

publicvoidactionPerformed(ActionEvente)

{

try

{

s.setId(Integer.parseInt(t2.getText()));

msg=s.toString();

}

catch(NumberFormatExceptionee)

{

msg="学号必须是数字!

";

}

catch(NegativeExceptionee)

{

msg="学号必须是正整数!

";

}

}

这样修改后,输入为负数时,就会输出一句话:

学号必须是正整数!

【实验结论】(结果)

1.登陆界面如下图:

2.当学号输入字符(如kjh)时,程序输出一句:

学号必须是数字!

3.学号输入为负数(如-1000)时,输出就会使一句话:

学号必须是正整数!

4.正确输入界面如下:

 

【实验小结】(收获体会)

这次实验还让我熟悉了JAVA的运用,让我对这门课程和这个软件有了更好的认识,也让我明白了程序应该尽可能的适应用户,应该以人为本,毕竟人才是程序的主导,程序应该根据人来改变。

三、指导教师评语及成绩:

评语

评语等级

及格

不及格

1.实验报告按时完成,字迹清楚,文字叙述流畅,逻辑性强

2.实验方案设计合理

3.实验过程(实验步骤详细,记录完整,数据合理,分析透彻)

4实验结论正确.

成绩:

指导教师签名:

批阅日期:

附录1:

源程序

importjava.applet.*;

importjava.awt.*;

importjava.awt.event.*;

publicclassWEextendsAppletimplementsActionListener

{

Labelpr1,pr2;

TextFieldt1,t2;

Buttonb;

Students;

Stringmsg;

publicvoidinit()

{

pr1=newLabel("姓名:

");

pr2=newLabel("学号:

");

t1=newTextField(7);

t2=newTextField(7);

b=newButton("OK");

b.addActionListener(this);

add(pr1);add(t1);

add(pr2);add(t2);

add(b);

s=newStudent();

msg="";

}

publicvoidactionPerformed(ActionEvente)

{

try

{

s.setId(Integer.parseInt(t2.getText()));

msg=s.toString();

}

catch(NumberFormatExceptionee)

{

msg="学号必须是数字!

";

}

catch(NegativeExceptionee)

{

msg="学号必须是正整数!

";

}

s.name=t1.getText();

repaint();

}

publicvoidpaint(Graphicsg)

{

g.drawString(msg,120,120);

}

}

classStudent

{

Stringname;

intid;

intage;

voidsetId(intx)throwsNegativeException

{

if(x>0)

id=x;

else

thrownewNegativeException();

}

publicStringtoString()

{

return"姓名:

"+name+"学号:

"+id;

}

}

classNegativeExceptionextendsException

{

}

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

当前位置:首页 > 高中教育 > 高考

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

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