JAVA实验3-异常处理和常用实用类-报告

合集下载

java实验报告总结_java总结范文

java实验报告总结_java总结范文

java实验报告总结_java总结范文
实验报告总结
通过本次实验,我对Java语言的基本语法和面向对象的编程思想有了更深入的了解。

在实验过程中,我学会了如何定义类和对象,以及如何使用封装、继承和多态等特性来进
行编程。

在实验一中,我通过编写一个简单的Java程序,熟悉了Java的基本语法和标准输入
输出的操作。

我了解了Java的数据类型和运算符,并能够使用if语句和循环结构来实现
程序逻辑。

通过这个实验,我掌握了基本的程序设计能力。

在实验二中,我学习了面向对象的编程思想,并通过编写一个学生管理系统来实践。

我定义了一个Student类,使用封装来隐藏内部细节,并定义了一些方法来实现对学生对
象的操作。

我还使用继承来创建了一个Teacher类,体会到了面向对象编程中的继承和多
态的概念。

通过这个实验,我进一步提高了程序设计的能力。

在实验三中,我学习了异常处理的方法,并通过编写一个简单的图书管理系统来实践。

在程序中,我使用try-catch语句来捕获和处理异常,保证程序的健壮性。

通过这个实验,我对异常处理有了更深入的理解。

在实验四中,我学习了Java中的线程编程,并通过编写一个简单的多线程程序来实践。

在程序中,我使用了Thread类和Runnable接口来创建线程,并学会了如何控制线程的执
行顺序和共享数据。

通过这个实验,我对多线程编程有了初步的了解。

通过这些实验,我对Java语言有了更深入的了解,并提高了自己的编程能力。

在今后的学习和工作中,我将继续学习和实践,提高自己的编程水平。

JAVA异常处理实验报告

JAVA异常处理实验报告

JAVA语言程序设计实验报告实验三实验题目:异常处理指导老师:卢照专业班级:计算机科学与技术系1106班姓名:李锋(2011100645)2014年4月20日一、实验名称:异常处理二、实验目的:1.掌握异常处理机制的运作2.掌握处理异常的几个子句:try…catch..finally、thorws和throw3.掌握字符串类的相关操作三、实验内容:1. 编写一个类,在其main()方法中创建一个一维数组,在try字句中访问数组元素,使其产生ArrayIndexOutOfBoundsException异常。

在catch子句里捕获此异常对象,并且打印“数组越界”信息,加一个finally子句,打印一条信息以证明这里确实得到了执行。

2. 给定一个字符串,将字符串中的所有大写字母变成小写字母,数字用0来代替,其他符号用#代替。

四、实验代码1.ExceptionDemo.javaclass ExceptionDemo{public static void main(String[] args){int [] arr = new int[]{13,24,1,53,24};try{int num = arr[5];}catch (ArrayIndexOutOfBoundsException e){System.out.println("数组越界啦!!!");}finally{System.out.println("此处代码一定会执行的--finally");}}}运行结果:2.StringTest.javaclass StringTest{public static void main(String[] args){String str = "DfS分手dsA吧25J奋45斗";System.out.println("原字符串=="+str);StringBuffer sb = new StringBuffer();for(int i = 0;i<str.length();i++){char ch = str.charAt(i);if(ch>='A' && ch<='Z'){sb.append(Character.toLowerCase(ch));}else if(ch>='a' && ch<='z'){sb.append(ch);}else if(ch>=49 && ch<=58){sb.append(0);}else{sb.append("#");}}System.out.println("转换后=="+sb);}}运行结果:五、实验总结:通过本次实验,熟悉掌握了Java的异常机制,try{}catch(){}finally{}的执行过程。

java异常类实验报告

java异常类实验报告

计算科学与工程(院、系)网络工程专业班组Java语言程序设计课学号姓名dong ge 实验日期教师评定实验四:异常类一、实验目的1、认识程序的逻辑运行错误,学习Java语言的异常处理机制。

2、加深异常处理机制的理解,认识Java语言中的常见异常类。

3、学习Java语言中多异常处理。

4、学习在方法中抛出异常,捕获并处理由方法抛出的异常。

5、学习自己定义异常类。

二、实验要求1、以上图为长方体类的继承关系,Rectangle为矩形类,为矩形类定义两个构造方法,分别带有两个参数和一个参数,其中带有两个参数的构造方法调用带有一个参数,toString()成员方法的功能显示矩形的长和宽以及面积;Cuboid为长方体类,为长方体类定义两个构造方法,分别带有三个参数和和没有参数,其中带有两个参数的构造方法调用父类带有两个参数的构造方法,长方体不需要计算周长返回0,toString()成员方法的功能显示长方体的长和宽、高以及体积;在主方法中定义对象测试所定义的类。

2、编写一个程序,抛出一个ArrayIndexOutOfBoundsException异常,并捕获处理。

3、自定义一个异常类,异常类中有一个带字符串参数的构造方法,将此参数赋值给异常类中惟一的字符串数据成员。

类中还定义一个成员方法,打印字符串数据成员。

在主方法中测试这个异常类。

三、实验程序和结果1、程序代码:interface Area {public double area();}interface Volume {public double volume();}class Rect implements Area{double Length;double Width;double area;Rect(){}Rect(double Length){this.Length=Length;System.out.println("没有参数的构造方法被调用"); }Rect(double Length, double Width){this(Length);this.Width=Width;System.out.println("一个参数的构造方法被调用"); }public double area(){return Length*Width;}public double perimeter(){return 2*(Length+Width);}public String toString(){return Length+" "+Width+" "+area();}}class Cuboid extends Rect implements Volume{double Height;Cuboid( ){System.out.println("没有参数的构造方法被调用"); }Cuboid(double Height,double Width,double Length){super(Length,Width);this.Height=Height;System.out.println("两个参数的构造方法被调用");}public double perimeter(){return 0;}public double volume (){return Height*Width*Length;}public String toString(){return Length+" "+Width+" "+Height+" "+volume();}}public class R{public static void main(String[] args){Rect n=new Rect(2.0,5.0);System.out.println ("长,"+"宽,"+"面积"+"分别为"+n.toString());Cuboid c=new Cuboid(5.0,6.0,8.0);System.out.println("长,"+"宽,"+"高,"+"体积"+"分别为"+c.toString());}}输出结果为:没有参数的构造方法被调用一个参数的构造方法被调用长,宽,面积分别为2.0 5.0 10.0没有参数的构造方法被调用一个参数的构造方法被调用两个参数的构造方法被调用长,宽,高,体积分别为8.0 6.0 5.0 240.02、:编写一个程序,抛出一个ArrayIndexOutOfBoundsException异常,并捕获处理。

JAVA实验3-异常处理和常用实用类-报告

JAVA实验3-异常处理和常用实用类-报告

JAVA实验3-异常处理和常⽤实⽤类-报告信息⼯程学院1《Java语⾔程序设计》实验报告学院: 班级: 姓名: 学号: 成绩:⼀、实习⽬标(1)掌握Java的异常处理机制及相关实现⽅法;(2)掌握常⽤实⽤类的使⽤,熟悉使⽤JDK_API进⾏软件开发;(3)掌握Java中正则表达式的基本⽤法。

⼆、实验过程实验题1 try-catch练习:JAVA_API:getMassage():返回此throwable或exception的详细消息字符串,正数除0返回Infinity,负数除0返回-Infinity。

toString():对象利于null的详细消息字符串创建,则返回此对象的实际类的名称,返回此throwable的简短描述。

printStackTrace():将错误的详细信息追踪到代码中具体某⼀⾏,将throwable及其追踪输出⾄标准错误流。

代码截图:CatchError类:实验报告的内容与格式按任课教师的要求书写。

MainTest类:运⾏结果:实验题2 ⽤户⾃定义异常:在ExceptionTest类中进⾏成绩录⼊和平均成绩的计算。

StasticScore类为成绩录⼊的具体⽅法,并进⾏异常检测。

ScoreException类继承StasticScore,输出错误提⽰。

代码截图:ExceptionTest类:ScoreException类:StasticScore类:运⾏结果:实验题3 String & StringBuffer的使⽤:JAVA_API:Int indexOf(String str, int fromIndex)函数:返回指定⼦字符串在此字符串中第⼀次出现处的索引,从指定的索引开始。

如果不存在,返回-1。

Static String valueOf(int i)函数:返回int参数的字符串表⽰形式。

该表⽰形式正是单参数的interger.toString⽅法返回的结果。

Int indexOf(String str, int fromIndex)函数:返回指定⼦字符串在此字符串中第⼀次出现处的索引,从指定的索引开始。

java异常处理实验报告

java异常处理实验报告

java异常处理实验报告Java异常处理实验报告一、实验目的本次实验旨在通过编写Java程序,学习和掌握异常处理的相关知识和技巧,提高代码的健壮性和可靠性。

二、实验环境本次实验使用的开发环境为Eclipse,使用Java语言进行编程。

三、实验内容1. 异常的概念异常是指程序在运行过程中出现的意外情况,例如除零错误、数组越界等。

Java中的异常是以类的形式存在的,所有异常类都是Throwable类的子类。

2. 异常处理的方法Java提供了try-catch-finally语句用于处理异常。

在try块中编写可能会抛出异常的代码,如果发生异常,则会跳转到对应的catch块进行处理。

finally块中的代码无论是否发生异常都会被执行。

3. 异常的分类Java中的异常分为两种类型:受检异常(Checked Exception)和非受检异常(Unchecked Exception)。

受检异常需要在代码中显式地进行处理,否则编译器会报错;而非受检异常不需要强制处理。

4. 自定义异常除了使用Java提供的异常类,我们还可以根据需要自定义异常类。

自定义异常类需要继承Exception类或RuntimeException类,并重写相应的方法。

5. 异常处理的最佳实践在实际的软件开发中,异常处理是非常重要的一部分。

以下是一些异常处理的最佳实践:- 尽早捕获异常:在代码中尽量早地捕获异常,以避免异常的传播和影响其他部分的代码。

- 适当处理异常:根据具体情况,选择合适的处理方式,可以是打印日志、返回默认值、抛出新的异常等。

- 避免捕获过宽的异常:捕获异常时要尽量精确,避免捕获过宽的异常类型,以免屏蔽了真正的问题。

四、实验步骤1. 创建一个Java项目,并新建一个类用于实现异常处理的实验。

2. 编写代码,在try块中编写可能会抛出异常的代码。

3. 使用catch块捕获异常,并进行相应的处理,例如打印异常信息。

4. 在finally块中编写必要的代码,例如资源的释放。

java异常处理实验报告

java异常处理实验报告

java异常处理实验报告Java异常处理实验报告引言:异常处理是Java编程中非常重要的一部分,它能够帮助我们优雅地处理程序中可能出现的错误情况,提高程序的健壮性和稳定性。

本实验旨在通过编写一段简单的Java代码,来探索异常处理的机制和应用。

实验过程:在实验中,我们编写了一个简单的Java程序,用于模拟一个学生信息管理系统。

该程序包含了以下几个功能:添加学生信息、查询学生信息、删除学生信息和修改学生信息。

在每个功能中,我们故意引入了一些可能导致异常的情况,以便验证异常处理的效果。

首先,我们创建了一个名为"Student"的类,用于表示学生的信息。

该类包含了学生的姓名、年龄和成绩等属性,并提供了相应的getter和setter方法。

接着,我们创建了一个名为"StudentManagementSystem"的类,用于实现学生信息的管理功能。

在添加学生信息的功能中,我们通过捕获可能抛出的"NullPointerException"异常来处理可能出现的空指针异常。

当用户输入的学生信息为空时,程序将抛出该异常并给出相应的提示信息,避免程序崩溃。

在查询学生信息的功能中,我们通过捕获可能抛出的"IndexOutOfBoundsException"异常来处理可能出现的数组越界异常。

当用户输入的学生索引超出了学生信息数组的范围时,程序将抛出该异常并给出相应的提示信息,避免程序崩溃。

在删除学生信息的功能中,我们通过捕获可能抛出的"NumberFormatException"异常来处理可能出现的数字格式异常。

当用户输入的学生索引不是一个合法的数字时,程序将抛出该异常并给出相应的提示信息,避免程序崩溃。

在修改学生信息的功能中,我们通过捕获可能抛出的"InputMismatchException"异常来处理可能出现的输入不匹配异常。

java异常处理实验结论 -回复

java异常处理实验结论 -回复

java异常处理实验结论-回复【java异常处理实验结论】在开发过程中,异常处理是一个至关重要的问题。

异常处理允许开发者在程序运行过程中,捕获并处理潜在的错误情况,以避免程序的崩溃或异常行为。

本文将通过实验探讨Java中异常处理的相关原理和方法,并总结实验结论。

首先,我们需要了解异常是什么。

在Java中,异常是指在程序运行过程中可能发生的错误或异常情况。

这些错误或异常情况可能是由于外部因素(如网络连接问题)、程序逻辑错误或用户输入不合法等原因引起的。

异常通过抛出和捕获机制来处理。

Java提供了一套完整的异常处理机制,以帮助开发人员捕获和处理异常。

异常处理的主要目标是提供一种对错误情况进行处理的方法,从而避免程序的崩溃或异常行为。

异常处理的主要思想是,在程序中进行适当的异常捕获,然后根据具体情况给予合适的处理和反馈。

为了更好地理解Java异常处理机制,我们进行了一系列的实验。

在实验中,我们模拟了几种常见的异常情况,并使用Java异常处理机制进行了处理。

实验的目的是验证Java异常处理机制的可行性和有效性。

实验一:ArithmeticException异常处理在该实验中,我们模拟了一个除零异常的情况。

在Java中,当一个数字尝试除以0时,会抛出ArithmeticException异常。

为了处理这种异常,我们使用了try-catch块来捕获该异常,并对异常进行了相应的处理。

实验结果表明,通过使用try-catch块来捕获ArithmeticException异常,我们能够有效地处理该异常,并避免程序的崩溃。

实验表明,Java 异常处理机制的确具有良好的可行性和有效性。

实验二:ArrayIndexOutOfBoundsException异常处理在该实验中,我们模拟了一个数组越界的异常情况。

在Java中,当我们尝试访问数组中不存在的索引时,会抛出ArrayIndexOutOfBoundsException异常。

java异常处理实验总结

java异常处理实验总结

java异常处理实验总结
在这个实验中,我们学习了Java中的异常处理机制。

异常是在程序执行过程中发生的错误或异常情况,例如除以零、数组越界等。

在Java中,异常被分为两种类型:受检异常和非受检异常。

受检异常是在代码中显式声明并处理的异常,需要在方法签名中声明并在方法体中捕获或抛出。

这样做是为了确保开发人员在编写代码时考虑到了可能发生的异常情况,并处理它们。

受检异常的处理方式包括捕获和处理异常、向调用方法抛出异常或者使用try-catch-finally语句块处理异常。

非受检异常是指那些不需要在代码中显式声明和捕获的异常,通常是由程序错误导致的异常,如空指针异常、数组越界异常等。

对于非受检异常,我们可以使用try-catch语句块来捕获并处理异常,或者在方法签名中使用throws关键字声明可能抛出的异常。

在实验中,我们通过编写代码来模拟各种异常情况,并使用try-catch语句块来捕获和处理异常。

我们还学习了如何创建自定义异常类,并在需要的时候抛出这些异常。

通过这个实验,我学到了异常处理的重要性以及如何正确地处理异常。

异常处理可以提高程序的健壮性和容错性,避免程序崩溃或出现未知的错误。

同时,异常处理也可以帮助我们定位和调试代码中的问题,提高代码的可维护性和可读性。

总的来说,这个实验对我来说是一次很好的学习和实践机会,让我更深入地理解了Java中的异常处理机制,并掌握了如何正确地处理异常。

我相信这些知识和技能对我在日后的编程工作中会非常有帮助。

java实验报告——异常类处理与实用类

java实验报告——异常类处理与实用类

南京理工大学泰州科技学院实验报告书
课程名称:《Java 面向对象程序设计》
实验题目:实验五
异常处理与实用类
班级:09计算机(2)
学号:0909030218
姓名:尤源
指导教师:李丛
一、实验目的
1.掌握Java语言的异常处理机制。

2.掌握Java语言中常用的实用类。

3.掌握eclipse集成开发环境的使用。

二、实验内容
1.用try,catch,finally语句块来处理程序ExceptionTest.java;
2.用String类创建字符串”aidefhi”,调用相关方法查找字母f所在的位置,调用相关方法将字母i替换成m;
3.用StringBuffer类创建字符串”你好,中国!”,调用相关方法将”伟大的祖国,我爱你!”字符串追加到该字符串尾部,打印输出结果到控制台上,结果应为:
”你好,中国!伟大的祖国,我爱你!”
4.编写程序计算从2010年6月30日到现在经历了多少天?
三、实验步骤
实验(1)编写代码
实验(2)编写代码
实验(3)编写代码
实验(4)编写代码
四、实验结果
实验(1)运行结果
实验(2)运行结果
实验(3)运行结果
实验(4)运行结果
五、结果分析
1.异常处理针对可能出现的情况都要编写全面。

2.实用类很多,要不断去练习熟悉。

3. eclipse集成开发环境使用要熟练掌握。

Java实验报告3-异常处理

Java实验报告3-异常处理

实验报告课程名称:Java语言程序设计院(系):管理学院专业班级:姓名:学号:指导教师:2013 年6月7日《Java语言程序设计》上机实验报告序号实验三组号 1 成绩名称异常处理学时 2评阅教师签名:2013年月日一、实验目的1.熟悉异常处理原理和程序结构;2.掌握异常处理程序设计技术并能正确应用。

二、实验内容算术异常ArithmeticException(数组越界ArrayIndexOutOfBoundsException、字符串越界异常StringIndexOutOfBoundsException等)处理程序设计与调试。

三、实验硬件、软件环境1.PC计算机一台,配置为CPU为P42.8G,内存为512M,硬盘为80G;2.WindowsXP + JSDK1.6 + JCreatorV4。

四、实验算法设计对各种异常进行不同的处理五、程序设计异常处理/*** @(#)yichang.java*** @author* @version 1.00 2013/6/7*/import java.util.*;public class yichang {public static void main(String args[]){try{String string="This is a word";char []a=new char[15];string.getChars(12,20,a,0);}catch(StringIndexOutOfBoundsException e1){System.out.println("字符串下标越界异常");System.out.println(e1);}try{int c[]={1};System.out.println(c[1]);}catch(ArrayIndexOutOfBoundsException e3){System.out.println("数组下标越界异常:");System.out.println(e3);}try{System.out.println("输入a,b的值");Scanner in=new Scanner(System.in);System.out.print("a=");int a=in.nextInt();System.out.print("b=");int b=in.nextInt();System.out.println("商为:"+a/b);}catch(ArithmeticException e2){System.out.println("算术运算异常(被零除):");System.out.println(e2);}}}六、程序测试记录及结果、运行说明七、实验总结ava实现了c++风格的异常处理,当程序出现异常,能启动相应的异常处理程序进行异常处理,使程序继续运行下去。

JAVA实验报告_Java异常处理

JAVA实验报告_Java异常处理

贵州大学实验报告学院:计信学院专业:网络工程班级:101 姓名学号实验组实验时间05.27 指导教师肖源源成绩实验项目名称Java异常处理实验目的1)掌握Java异常的概念及工作机制2)掌握异常的分类3)掌握抛出异常语句的使用(throw)4)掌握抛出捕获处理异常语句的使用(try…catch…finally) 5)掌握上抛异常语句的使用(throws)6)掌握创建自定义异常实验要求1.安装并设置Java SDK 软件包。

2.按要求编写程序完成实验指导所需实验要求。

3.调试并成功运行。

实验内容1、编写一个应用程序,要求从键盘输入一个double型的圆的半径,计算并输出其面积。

测试当输入的数据不是double型数据(如字符串“abc”)会产生什么结果,怎样处理。

(根据上课讲课内容来做)。

实验代码import java.io.*;public class Circle {public static void main (String[] args)throws IOException{System.out.println("请输入圆的半径:");BufferedReader str=new BufferedReader(new InputStreamReader(System.in));try{ System.out.println("圆的面积为:"+computerArea(Double.parseDouble(str.readLine())));}catch(NumberFormatException e){System.out.println("输入异常");}}public static double computerArea (double r) { return Math.PI*r*r;}}实验数据使用ecplise运行,正常输入,则给出计算结果输入非double数值,则显示异常。

JAVA_异常处理实验报告

JAVA_异常处理实验报告

JAVA_异常处理实验报告实验三异常处理[实验目的]1. 掌握异常处理方法及熟悉常见异常的捕获方法。

[实验内容]1. 练习捕获异常、声明异常、抛出异常的方法、熟悉try和catch子句的使用。

[实验步骤]第1题异常处理要求声明定义两个Exception的异常子类:NoLowerLetter类和NoDigit类。

再声明一个People类~该类中的void printLetter(charc)方法抛出NoLowerLetter异常类对象~void PrintDigit(char c)方法抛出NoDigit异常类对象。

class NoLowerLetter extends Exception{String message;NoLowerLetter(char c){message=c+"不是正数";}public String getMessage(){return message;}}class NoDigit extends Exception{String message;NoDigit(char c){message=c+"不是偶数";}public String getMessage(){return message;}1}class People{public void printLetter(char c) throws NoLowerLetter{ if(c<0){NoLowerLetter ex=new NoLowerLetter(c);throw(ex);}double number=Math.sqrt(c);System.out.println(c+"的平方根:"+number);}public void PrintDigit(char c) throws NoDigit{if(c%2!=0){NoDigit ex=new NoDigit(c);throw(ex);}double number=Math.sqrt(c);System.out.println(c+"的平方根:"+number); }}public class bianma{public static void main(String args[]){ People p=new People();try{p.printLetter('Q');p.printLetter(' ');}catch( NoLowerLetter e){System.out.println(e.getMessage());}try{p.PrintDigit('d');p.PrintDigit('a');}catch( NoDigit e){System.out.println(e.getMessage());}}}将结果运行截屏贴在下面:23。

java异常处理实验报告

java异常处理实验报告

java异常处理实验报告Java异常处理实验报告实验目的:通过实验,掌握Java中异常处理的基本原理和方法,能够编写能够处理各种异常情况的程序。

实验环境:使用Java编程语言,Eclipse集成开发环境。

实验内容:1. 异常的基本概念异常是指在程序执行过程中出现的错误情况,包括编译时异常和运行时异常。

编译时异常是在编译阶段就会被检测出来的异常,如IOException、SQLException等;而运行时异常是在程序运行过程中才会出现的异常,如NullPointerException、ArrayIndexOutOfBoundsException等。

在Java中,异常是以类的形式存在的,所有的异常类都是Throwable类的子类。

2. 异常处理的方法在Java中,异常处理的方法主要有try-catch语句和throws关键字。

try-catch 语句用于捕获和处理异常,可以将可能发生异常的代码放在try块中,然后在catch块中处理异常;throws关键字用于声明方法可能抛出的异常,让调用该方法的代码处理异常。

3. 编写能够处理异常的程序通过实验,我们编写了一段能够处理异常的程序。

在程序中,我们使用了try-catch语句来捕获可能发生的异常,并且在catch块中输出异常信息,以便程序的调用者能够得到相应的反馈。

实验结果:经过实验,我们成功掌握了Java中异常处理的基本原理和方法,能够编写能够处理各种异常情况的程序。

实验总结:异常处理是Java编程中非常重要的一部分,能够有效地提高程序的健壮性和可靠性。

通过本次实验,我们深入理解了异常处理的原理和方法,为今后的Java编程打下了坚实的基础。

希望通过不断的实践和学习,能够更加熟练地运用异常处理的技巧,编写出高质量的Java程序。

java异常处理实验总结 -回复

java异常处理实验总结 -回复

java异常处理实验总结-回复问题:java异常处理实验总结[引言]异常是程序执行过程中可能会发生的错误事件或意外情况,可以打破正常的程序流程,导致程序终止或产生不可预测的结果。

Java提供了异常处理机制来捕捉并处理这些异常,以保证程序的健壮性和稳定性。

本文将总结我在进行Java异常处理实验时所获得的经验与教训。

[正文]第一步:了解异常处理机制在开始实验之前,我首先对Java的异常处理机制进行了学习和了解。

Java 提供了一套完善的异常处理机制,包含了异常的分类、异常处理语句的编写和异常的抛出与捕获等内容。

第二步:熟悉常见的异常类型在Java中,常见的异常类型包括编译时异常和运行时异常。

编译时异常需要程序显示处理,否则将无法通过编译;而运行时异常则不需要强制处理。

为了能够快速定位和解决异常问题,我仔细研读了Java官方文档,熟悉了常见的异常类型和异常处理方法。

第三步:编写异常处理代码在实验中我创建了一个示例程序,该程序可能会抛出两种异常:FileNotFoundException和NumberFormatException。

在编写代码时,我通过try-catch语句块来捕获并处理这些异常。

在catch语句块中,我输出了异常的详细信息,以便于后续的问题定位和修复。

第四步:进行异常测试当代码编写完成后,我开始进行异常测试。

我故意制造了文件不存在和非法数字输入的情况,来触发相应的异常。

在测试过程中,我注意观察程序的运行情况,并仔细查看异常信息。

第五步:分析异常信息与处理在测试过程中,我遇到了多次异常。

通过观察异常信息的输出,我可以得到异常的类型、触发异常的行号以及异常的详细描述等信息。

这些信息对于调试和定位问题非常有帮助。

在处理异常时,我根据异常类型以及具体情况选择了合适的处理方法,如重新输入或给出默认值等。

第六步:修复异常问题根据异常信息和处理方法,我对代码进行了适当的修改和优化。

通过多次的测试和调试,我逐渐修复了程序中存在的异常问题,并提高了程序的健壮性和鲁棒性。

异常处理实验报告总结(3篇)

异常处理实验报告总结(3篇)

第1篇一、实验背景在软件开发过程中,异常处理是保证程序稳定性和可靠性的重要手段。

本次实验旨在通过实际操作,深入了解Java语言中的异常处理机制,掌握如何有效地捕获和处理异常,提高代码的健壮性。

二、实验目的1. 理解Java中异常的概念及分类;2. 掌握try-catch-finally语句的使用;3. 学会使用自定义异常类;4. 熟悉异常处理在实际项目中的应用。

三、实验内容1. 异常概念及分类(1)异常的概念:异常是程序在执行过程中遇到的不正常情况,如数学运算错误、文件读取失败等。

Java中的异常分为两大类:检查型异常和非检查型异常。

(2)异常分类:a. 检查型异常(Checked Exception):这类异常在编译时必须被处理,如IOException、SQLException等。

b. 非检查型异常(Unchecked Exception):这类异常在编译时不需要被处理,如NullPointerException、ArithmeticException等。

2. try-catch-finally语句try-catch-finally语句是Java中处理异常的主要方式。

(1)try块:用于编写可能抛出异常的代码。

(2)catch块:用于捕获并处理try块中抛出的异常。

(3)finally块:用于编写无论是否发生异常都要执行的代码。

3. 自定义异常类自定义异常类是继承自Exception类的一个新类,用于处理特定场景下的异常。

(1)创建自定义异常类:```javapublic class MyException extends Exception {public MyException(String message) {super(message);}}```(2)抛出自定义异常:```javapublic void doSomething() throws MyException {if (条件) {throw new MyException("自定义异常信息");}}```4. 异常处理在实际项目中的应用(1)文件读取操作:```javatry {File file = new File("example.txt");BufferedReader reader = new BufferedReader(new FileReader(file));String line;while ((line = reader.readLine()) != null) {System.out.println(line);}reader.close();} catch (FileNotFoundException e) {System.out.println("文件未找到:" + e.getMessage());} catch (IOException e) {System.out.println("读取文件出错:" + e.getMessage());}```(2)数据库操作:```javatry {Connection conn =DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "username", "password");// 执行数据库操作} catch (SQLException e) {System.out.println("数据库操作出错:" + e.getMessage());}```四、实验总结通过本次实验,我对Java异常处理机制有了更加深入的了解。

实验3异常处理和常用实用类

实验3异常处理和常用实用类

实习3 异常处理和常用实用类实验目的(1)掌握Java的异常处理机制及相关实现方法;(2)掌握常用实用类的使用,熟悉使用JDK_API进行软件开发;(3)掌握Java中正则表达式的基本用法。

实验题1 try-catch练习:在程序中产生一个ArithmeticException 类型被0除的异常,并用catch 语句捕获这个异常。

捕获到异常后在catch代码段中调用该异常对象的getMessage()、toString()、printStackTrace(),结合jdk_api,说明三者的区别。

package question1;public class ArithmeticException {public static void main(String args[]){try {int m=1;int n=1/0;} catch (Exception e) {// TODO: handle exceptionSystem.out.println("异常是:"+e.getMessage());System.out.println("异常是:"+e.toString());e.printStackTrace();}}}答:getMessage的作用是返回此throwble的详细消息字符串;toString的作用是返回此throwble的简短描述。

结果是此对象类的名字,冒号和一个空格和调用此对象getLocalizedMessage() 方法的结果。

如果 getLocalizedMessage 返回 null,则只返回类名称。

printStackTrace将此 throwable 及其追踪输出至标准错误流。

此方法将此 Throwable 对象的堆栈跟踪输出至错误输出流,作为字段System.err 的值。

输出的第一行包含此对象的 toString() 方法的结果。

java异常处理实验报告

java异常处理实验报告
publicclassExceptionTestDemo {
publicstaticvoidmain(String[]args) {
//TODO自动生成的方法存根
try{
Scannersc=newScanner(System.in);
System.out.println("请输入除数:");
intx=sc.nextInt();
①在try块中,编写被0除的代码。
②在catch块中,捕获被0除所产生的异常,并且打印异常信息。
③在finallyyichangchuli;
importjava.util.InputMismatchException;
importjava.util.Scanner;
}
catch(Exceptione) {
//TODO: handle exception
System.out.println("输入错误,除数不为0!");
}
finally{
System.out.println("程序结束!");
}
}
}
实验结果:
输入格式错误:
除数为0错误
实验总结(结论或问题分析):
通过本次实验,我了解了异常处理机制,会简单的处理一些异常,明白异常处理机制可以保证代码的稳健性,在编程中发挥着重要作用。
实验成绩
任课教师签名
(注:专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)
System.out.println("请输入被除数:");
inty=sc.nextInt();

实验3 异常处理和常用实用类

实验3 异常处理和常用实用类

实习3 异常处理和常用实用类实验目的(1)掌握Java的异常处理机制及相关实现方法;(2)掌握常用实用类的使用,熟悉使用JDK_API进行软件开发;(3)掌握Java中正则表达式的基本用法。

实验题1 try-catch练习:在程序中产生一个ArithmeticException 类型被0除的异常,并用catch 语句捕获这个异常。

捕获到异常后在catch代码段中调用该异常对象的getMessage()、toString()、printStackTrace(),结合jdk_api,说明三者的区别。

package question1;public class ArithmeticException {public static void main(String args[]){try {int m=1;int n=1/0;} catch (Exception e) {// TODO: handle exceptionSystem.out.println("异常是:"+e.getMessage());System.out.println("异常是:"+e.toString());e.printStackTrace();}}}答:getMessage的作用是返回此throwble的详细消息字符串;toString的作用是返回此throwble的简短描述。

结果是此对象类的名字,冒号和一个空格和调用此对象getLocalizedMessage() 方法的结果。

如果 getLocalizedMessage 返回 null,则只返回类名称。

printStackTrace将此 throwable 及其追踪输出至标准错误流。

此方法将此 Throwable 对象的堆栈跟踪输出至错误输出流,作为字段System.err 的值。

输出的第一行包含此对象的 toString() 方法的结果。

实验03 实用类和异常类

实验03 实用类和异常类

实验03 实用类和异常类实验3 实用类和异常类1.实验目的(1)掌握异常类的用法(2)掌握Java中String类常用方法、StringBuilder类的用法;(3)掌握Date类、Calender类、DateFormat类的用法;(4)掌握Java中正则表达式的基本用法2.实验要求在Eclipse下创建Practice2项目,对未有包名要求的题目统一按照实验题名建包,然后将本题源代码放在同一包下。

对有包名要求的题目按照要求建包。

作业提交时将Practice2项目下src文件包命名为Practice2.src压缩后提交。

3.实验题目Exer1: 创建KeyWord类,设置两个String型成员变量input,keyword,并设计keywordSearch()实现keyword字符串在input字符串中出现信息的统计。

要求如下(1)统计结果返回类型为String,格式要求出现总次数:索引位置(依次列出,如果出现多处,中间用空格分隔)。

(2) KeywordSearch()方法在处理返回结果时的中间变量分别用String和StringBuffer型实现,思考这两种处理方式的区别?测试数据:执行的测试期望的结果 2: 2 5 keywordSearch(“this is a test”, “is”) 4: 0 6 18 24 keywordSearch(“able was I ere I sawelba”, “a”) 0: keywordSearch(“this is a test”, “tasta”) Exer2: 编写程序剔除一个字符串中的全部非[.]和数字之外的字符,然后计算所有字符串数字的和。

测试数据“hello13.45你,好8789与(0.57sum”。

Exer3: 修改实验二Exer7,在Product类中添加销售日期属性及销售额属性,在sell方法中对其初始化,比较Date类与Calender类的用法,最后使用SimpleDateFormat类对销售日期进行格式化;用类DecimalFormat的相关方法格式化属性sales,熟悉DecimalFormat的用法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

信息工程学院
《Java语言程序设计》实验报告
学院: 班级: 姓名: 学号: 成绩:
一、实习目标
(1)掌握Java的异常处理机制及相关实现方法;
(2)掌握常用实用类的使用,熟悉使用JDK_API进行软件开发;
(3)掌握Java中正则表达式的基本用法。

二、实验过程
实验题1 try-catch练习:
JAVA_API:
getMassage():返回此throwable或exception的详细消息字符串,正数除0
返回Infinity,负数除0返回-Infinity。

toString():对象利于null的详细消息字符串创建,则返回此对象的实际类的
名称,返回此throwable的简短描述。

printStackTrace():将错误的详细信息追踪到代码中具体某一行,将throwable
及其追踪输出至标准错误流。

代码截图:
CatchError类:
实验报告的内容与格式按任课教师的要求书写。

MainTest类:
运行结果:
实验题2 用户自定义异常:
在ExceptionTest类中进行成绩录入和平均成绩的计算。

StasticScore类为成绩录入的具体方法,并进行异常检测。

ScoreException类继承StasticScore,输出错误提示。

代码截图:
ExceptionTest类:
ScoreException类:
StasticScore类:
运行结果:
实验题3 String & StringBuffer的使用:
JAVA_API:
Int indexOf(String str, int fromIndex)函数:返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。

如果不存在,返回-1。

Static String valueOf(int i)函数:返回int参数的字符串表示形式。

该表示形式正是单参数的interger.toString方法返回的结果。

Int indexOf(String str, int fromIndex)函数:返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。

如果不存在,则返回-1。

Public StringBuffer append(String str)函数:将指定的字符串追加到此字符序列。

按顺序追加String变量中的字符,使此序列增加到该变量的长度。

代码截图:
TestOfKeyword类:
KeyWord类:运行结果:
实验题4 常用实用类Calendar练习:
JAVA_API:
Public void set(int field, int value)函数:将给定的日历字段设置为给定值。

不管出于何种宽松性模式下,该值都不由此方法进行解释。

Public int get(int field)函数:返回给定日历字段的值。

在lenient模式下,所有日历字段都被标准化。

Public abstract void roll(int field, boolean up)函数:在给定的时间字段上添加或减去单个时间单元,不更改更大的字段。

如果向上滚动,则使用true,否则使用false。

确定当月天数:用set函数设置DATE为当月第一天,使用roll进行滚动,用get函数得到当月的天数。

确定第一天是周几:用set函数时DAY_OF_MONTH为1,直接调用get函数得到DAY_OF_WEEK的值即可。

代码截图:
MyCalendar类:
TestCalendar类:
运行结果:
实验题5正则表达式的使用:
JAVA_API:
Public boolean matches(String regex):参数regex用来匹配此字符串的正则表达式。

如果此字符串匹配给定的正则表达式,则返回true。

Pattern Matcher的组合用法:
(1)第一种匹配方法:Pattern p = pile(“a*b”);Matcher m =
p.matcher(“aaaaab”);boolean b = m.matches();
(2)第二张匹配方法:boolean b = Pattern.matches(“a*b”,”aaaaab”);
具体的函数:
Public static Pattern compile(String regex):将给定的正则表达式编译到模式中。

Public static Pattern compile(String regex, int flags):将给定的正则表达式编译
到具有给定标志的模式中。

Public Matcher matcher(CharSequence input):创建匹配给定输入与此模式的匹配器。

Public static boolean matches(String regex, CharSequenece input):编译给定正则表达式并尝试将给定输入与其匹配。

代码截图:
TestOfUser类:
User类:
UserFilter类:
运行结果:。

相关文档
最新文档