《java实验报告(实验三).doc》由会员分享,可在线阅读,更多相关《java实验报告(实验三).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北 京 林 业 大 学2013 学年 2014 学年第 2学期 Java程序设计基础实验报告书专 业: 电子 班 级: 11-2 姓 名: 王云飞 学 号: 实验地点: 计算机中心 任课教师: 黄儒乐 实验题目:自定义异常与异常处理,常用类使用 实验环境: Windows2000/XP;局域网 实验要求:1. 对所有实验内容中涉及到的命令均要亲自实践,对照实验指导书进行。2. 把实验中出现的问题以及最后解决的情况反馈到实验报告中。3. 程序作业的源代码要求反馈到实验报告中。实验内容:1. 自定义异常及使用(1) 自定义一个异常类,命名为AuthException。(2) 设计一个LoginAu
2、thCheck类,其中的verify(String username,String password)方法用于验证用户名和密码是否正确,如果用户名不是admin,密码不是123 ,则抛出AuthException异常,并通过AuthException对象传递错误信息。(3) 设计一个Example类,提示用户依次输入用户名,密码(使用Scanner类来实现),并通过LoginAuthCheck类的verify方法验证是否正确。2. 比较日期的大小按模板要求,将【代码1】【代码8】替换为Java程序代码。DateExampleimport java.util.*;class DateExampl
3、e public static void main(String args ) Scanner read=new Scanner(System.in); System.out.println(输入第一个日期的年份:); int yearOne=read.nextInt( ); System.out.println(输入该年的月份:); int monthOne=read.nextInt( ); System.out.println(输入该月份的日期:); int dayOne=read.nextInt( ); System.out.println(输入第二个日期的年份:); int yearT
4、wo=read.nextInt( ); System.out.println(输入该年的月份:); int monthTwo=read.nextInt( ); System.out.println(输入该月份的日期:); int dayTwo=read.nextInt( ); Calendar calendar=【代码1】 /初始化日历对象。 【代码2】 / 将calendar的时间设置为yearOne年monthOne月dayOne日 long timeOne=【代码3】 / calendar表示的时间转换成毫秒。 【代码4】 / 将calendar的时间设置为yearTwo年monthTw
5、o月dayTwo日 long timeTwo=【代码5】 / calendar表示的时间转换成毫秒 Date date1=【代码6】 / 用timeOne做参数构造date1 Date date2=【代码7】 / 用timeTwo做参数构造date2 if(date2.equals(date1) System.out.println(两个日期的年、月、日完全相同); else if(date2.after(date1) System.out.println(您输入的第二个日期大于第一个日期); else if(date2.before(date1) System.out.println(您输入
6、的第二个日期小于第一个日期); long diff=【代码8】 / 计算两个日期相隔天数 System.out.println(“相隔天数:” + diff); 实验目的:掌握异常处理的概念和运用掌握Date类等常用类的使用实现方法、实验结果及结论分析等:实验内容1-(1)源代码public class AuthException extends ExceptionString warning;public AuthException(String warning)this.warning = warning;public String toString()return warning;实验内
7、容1-(2)源代码public class LoginAuthCheckpublic void verify(String username,String password)throws AuthExceptionif(username.equals(Auth) & password.equals(123)System.out.println(登陆成功);elsethrow new AuthException(用户名或密码错误); 实验内容1-(3)源代码import java.util.*;public class Example public static void main(String
8、 args)Scanner input = new Scanner(System.in);System.out.print(请输入用户名: );String username = input.nextLine();System.out.print(请输入密码:);String password = input.nextLine();LoginAuthCheck login = new LoginAuthCheck();trylogin.verify(username, password);catch(AuthException ex)System.out.println(ex);实验结果:实验
9、内容2源代码import java.util.*;class DateExample public static void main(String args ) Scanner read=new Scanner(System.in); System.out.println(输入第一个日期的年份:); int yearOne=read.nextInt( ); System.out.println(输入该年的月份:); int monthOne=read.nextInt( ); System.out.println(输入该月份的日期:); int dayOne=read.nextInt( ); S
10、ystem.out.println(输入第二个日期的年份:); int yearTwo=read.nextInt( ); System.out.println(输入该年的月份:); int monthTwo=read.nextInt( ); System.out.println(输入该月份的日期:); int dayTwo=read.nextInt( ); Calendar calendar1 = Calendar.getInstance(); Calendar calendar2 = Calendar.getInstance();/初始化日历对象。 calendar1.set(yearOne
11、,monthOne,dayOne); / 将calendar1的时间设置为yearOne年monthOne月dayOne日 calendar2.set(yearTwo,monthTwo,dayTwo); / 将calendar2的时间设置为yearOne年monthOne月dayOne日 long timeOne = calendar1.getTimeInMillis(); / calendar1表示的时间转换成毫秒。 long timeTwo = calendar2.getTimeInMillis(); / calendar2表示的时间转换成毫秒。 Date date1 = new Date
12、(timeOne); / 用timeOne做参数构造date1 Date date2 = new Date(timeTwo); / 用timeTwo做参数构造date2 if(date2.equals(date1) System.out.println(两个日期的年、月、日完全相同); else if(date2.after(date1) System.out.println(您输入的第二个日期大于第一个日期); else if(date2.before(date1) System.out.println(您输入的第二个日期小于第一个日期); / 计算两个日期相隔天数 long diff = (timeOne timeTwo) ? (timeOne - timeTwo) / 1000 / 3600 / 24) : (timeTwo - timeOne) / 1000 / 3600 / 24); System.out.println(相隔天数: + diff);