JAVA实验3-异常处理和常用实用类-报告
- 格式:doc
- 大小:745.00 KB
- 文档页数:18
java实验报告总结_java总结范文
实验报告总结
通过本次实验,我对Java语言的基本语法和面向对象的编程思想有了更深入的了解。
在实验过程中,我学会了如何定义类和对象,以及如何使用封装、继承和多态等特性来进
行编程。
在实验一中,我通过编写一个简单的Java程序,熟悉了Java的基本语法和标准输入
输出的操作。
我了解了Java的数据类型和运算符,并能够使用if语句和循环结构来实现
程序逻辑。
通过这个实验,我掌握了基本的程序设计能力。
在实验二中,我学习了面向对象的编程思想,并通过编写一个学生管理系统来实践。
我定义了一个Student类,使用封装来隐藏内部细节,并定义了一些方法来实现对学生对
象的操作。
我还使用继承来创建了一个Teacher类,体会到了面向对象编程中的继承和多
态的概念。
通过这个实验,我进一步提高了程序设计的能力。
在实验三中,我学习了异常处理的方法,并通过编写一个简单的图书管理系统来实践。
在程序中,我使用try-catch语句来捕获和处理异常,保证程序的健壮性。
通过这个实验,我对异常处理有了更深入的理解。
在实验四中,我学习了Java中的线程编程,并通过编写一个简单的多线程程序来实践。
在程序中,我使用了Thread类和Runnable接口来创建线程,并学会了如何控制线程的执
行顺序和共享数据。
通过这个实验,我对多线程编程有了初步的了解。
通过这些实验,我对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语言程序设计课学号姓名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-异常处理和常⽤实⽤类-报告信息⼯程学院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程序,学习和掌握异常处理的相关知识和技巧,提高代码的健壮性和可靠性。
二、实验环境本次实验使用的开发环境为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程序,用于模拟一个学生信息管理系统。
该程序包含了以下几个功能:添加学生信息、查询学生信息、删除学生信息和修改学生信息。
在每个功能中,我们故意引入了一些可能导致异常的情况,以便验证异常处理的效果。
首先,我们创建了一个名为"Student"的类,用于表示学生的信息。
该类包含了学生的姓名、年龄和成绩等属性,并提供了相应的getter和setter方法。
接着,我们创建了一个名为"StudentManagementSystem"的类,用于实现学生信息的管理功能。
在添加学生信息的功能中,我们通过捕获可能抛出的"NullPointerException"异常来处理可能出现的空指针异常。
当用户输入的学生信息为空时,程序将抛出该异常并给出相应的提示信息,避免程序崩溃。
在查询学生信息的功能中,我们通过捕获可能抛出的"IndexOutOfBoundsException"异常来处理可能出现的数组越界异常。
当用户输入的学生索引超出了学生信息数组的范围时,程序将抛出该异常并给出相应的提示信息,避免程序崩溃。
在删除学生信息的功能中,我们通过捕获可能抛出的"NumberFormatException"异常来处理可能出现的数字格式异常。
当用户输入的学生索引不是一个合法的数字时,程序将抛出该异常并给出相应的提示信息,避免程序崩溃。
在修改学生信息的功能中,我们通过捕获可能抛出的"InputMismatchException"异常来处理可能出现的输入不匹配异常。
java异常处理实验结论-回复【java异常处理实验结论】在开发过程中,异常处理是一个至关重要的问题。
异常处理允许开发者在程序运行过程中,捕获并处理潜在的错误情况,以避免程序的崩溃或异常行为。
本文将通过实验探讨Java中异常处理的相关原理和方法,并总结实验结论。
首先,我们需要了解异常是什么。
在Java中,异常是指在程序运行过程中可能发生的错误或异常情况。
这些错误或异常情况可能是由于外部因素(如网络连接问题)、程序逻辑错误或用户输入不合法等原因引起的。
异常通过抛出和捕获机制来处理。
Java提供了一套完整的异常处理机制,以帮助开发人员捕获和处理异常。
异常处理的主要目标是提供一种对错误情况进行处理的方法,从而避免程序的崩溃或异常行为。
异常处理的主要思想是,在程序中进行适当的异常捕获,然后根据具体情况给予合适的处理和反馈。
为了更好地理解Java异常处理机制,我们进行了一系列的实验。
在实验中,我们模拟了几种常见的异常情况,并使用Java异常处理机制进行了处理。
实验的目的是验证Java异常处理机制的可行性和有效性。
实验一:ArithmeticException异常处理在该实验中,我们模拟了一个除零异常的情况。
在Java中,当一个数字尝试除以0时,会抛出ArithmeticException异常。
为了处理这种异常,我们使用了try-catch块来捕获该异常,并对异常进行了相应的处理。
实验结果表明,通过使用try-catch块来捕获ArithmeticException异常,我们能够有效地处理该异常,并避免程序的崩溃。
实验表明,Java 异常处理机制的确具有良好的可行性和有效性。
实验二:ArrayIndexOutOfBoundsException异常处理在该实验中,我们模拟了一个数组越界的异常情况。
在Java中,当我们尝试访问数组中不存在的索引时,会抛出ArrayIndexOutOfBoundsException异常。
java异常处理实验总结
在这个实验中,我们学习了Java中的异常处理机制。
异常是在程序执行过程中发生的错误或异常情况,例如除以零、数组越界等。
在Java中,异常被分为两种类型:受检异常和非受检异常。
受检异常是在代码中显式声明并处理的异常,需要在方法签名中声明并在方法体中捕获或抛出。
这样做是为了确保开发人员在编写代码时考虑到了可能发生的异常情况,并处理它们。
受检异常的处理方式包括捕获和处理异常、向调用方法抛出异常或者使用try-catch-finally语句块处理异常。
非受检异常是指那些不需要在代码中显式声明和捕获的异常,通常是由程序错误导致的异常,如空指针异常、数组越界异常等。
对于非受检异常,我们可以使用try-catch语句块来捕获并处理异常,或者在方法签名中使用throws关键字声明可能抛出的异常。
在实验中,我们通过编写代码来模拟各种异常情况,并使用try-catch语句块来捕获和处理异常。
我们还学习了如何创建自定义异常类,并在需要的时候抛出这些异常。
通过这个实验,我学到了异常处理的重要性以及如何正确地处理异常。
异常处理可以提高程序的健壮性和容错性,避免程序崩溃或出现未知的错误。
同时,异常处理也可以帮助我们定位和调试代码中的问题,提高代码的可维护性和可读性。
总的来说,这个实验对我来说是一次很好的学习和实践机会,让我更深入地理解了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语言程序设计院(系):管理学院专业班级:姓名:学号:指导教师: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语言程序设计》实验报告
学院: 班级: 姓名: 学号: 成绩:
一、实习目标
(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类:
运行结果:。