实验报告(实验三)北 京 林 业 大 学
2013 学年— 2014 学年第 2学期 Java程序设计基础实验报告书
专 业: 电子 班 级:
姓 名: 学 号:
实验地点: 任课教师: 黄儒乐
实验题目:自定义异常与异常处理,常用类使用
实验环境: Windows2...
北 京 林 业 大 学
2013 学年— 2014 学年第 2学期 Java程序设计基础实验
书
专 业: 电子 班 级:
姓 名: 学 号:
实验地点: 任课教师: 黄儒乐
实验题目:自定义异常与异常处理,常用类使用
实验环境: Windows2000/XP;局域网
实验要求:
1. 对所有实验内容中涉及到的命令均要亲自实践,对照实验指导书进行。
2. 把实验中出现的问题以及最后解决的情况反馈到实验报告中。
3. 程序作业的源代码要求反馈到实验报告中。
实验内容:
1. 自定义异常及使用
(1) 自定义一个异常类,命名为AuthException。
(2) 设计一个LoginAuthCheck类,其中的verify(String username,String password)方法用于验证用户名和密码是否正确,如果用户名不是admin,密码不是123 ,则抛出AuthException异常,并通过AuthException对象传递错误信息。
(3) 设计一个Example类,提示用户依次输入用户名,密码(使用Scanner类来实现),并通过LoginAuthCheck类的verify方法验证是否正确。
2. 比较日期的大小
按
要求,将【代码1】~【代码8】替换为Java程序代码。
DateExample
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( );
System.out.println("输入第二个日期的年份:");
int yearTwo=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年monthTwo月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("您输入的第二个日期小于第一个日期");
}
long diff=【代码8】 // 计算两个日期相隔天数
System.out.println(“相隔天数:” + diff);
}
}
实验目的:
掌握异常处理的概念和运用
掌握Date类等常用类的使用
实现方法:
1. 自定义异常及使用实现
AuthException为Exception的一个子类实现报错,LoginAuthCheck类实现对输入信息匹配并决定是否通过,主函数实现调用报错和匹配的方法。
代码如下:
package System.out;
import java.util.Scanner;
class AuthException extends Exception {
String message;
public AuthException(){
message="您输入的用户名或密码错误,请重新输入";
}
public String toString(){
return message;
}
}
class LoginAuthCheck {
public void verify(String username,String password)
throws AuthException{
if(!(username.equals("admin")&&password.equals("123"))){
throw(new AuthException());
}
else
System.out.print("主人~欢迎回来~~~");
}
}
public class Example {
public static void main(String args[]){
Scanner in=new Scanner(System.in);
System.out.print("请输入用户名");
String username=in.nextLine();
System.out.print("请输入密码");
String password=in.nextLine();
LoginAuthCheck login=new LoginAuthCheck();
try{
login.verify(username, password);
}catch(AuthException e){
System.out.println(e.toString());
}
}
}
2.比较日期的大小
参照《Java面向对象程序设计》例9—15完成程序。
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( );
System.out.println("输入第二个日期的年份:");
int yearTwo=read.nextInt( );
System.out.println("输入该年的月份:");
int monthTwo=read.nextInt( );
System.out.println("输入该月份的日期:");
int dayTwo=read.nextInt( );
Calendar calendar=Calendar.getInstance(); //初始化日历对象。
calendar.set(yearOne,monthOne,dayOne); // 将calendar的时间设置为yearOne年monthOne月dayOne日
long timeOne=calendar.getTimeInMillis(); // calendar表示的时间转换成毫秒。
calendar.set(yearTwo,monthTwo,dayTwo); // 将calendar的时间设置为yearTwo年monthTwo月dayTwo日
long timeTwo=calendar.getTimeInMillis(); // calendar表示的时间转换成毫秒
Date date1=new Date(timeOne); // 用timeOne做参数构造date1
本文档为【实验报告(实验三)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。