import java.io.*;
class AgeException extends Exception {
int age;
AgeException(String message) {
super(message);
}
AgeException() {
super();
}
}
class OutOfAgeLimitException extends AgeException {
int ageLimit;
OutOfAgeLimitException( int ageLimit,String message) {
super(message);
this.ageLimit = ageLimit;
}
OutOfAgeLimitException(String message) {
super(message);
}
}
class TooYoungException extends OutOfAgeLimitException {
TooYoungException(int age, int ageLimit, String message) {
super(ageLimit, "Your are too Young to " + message + ".");
this.age = age;
}
TooYoungException() {
super("Too young");
}
}
class TooOldException extends OutOfAgeLimitException {
TooOldException(int age, int ageLimit, String message) {
super(ageLimit, "You are too old to " +message + ".");
this.age = age;
}
TooOldException () {
super("too Old");
}
}
class IllegalAgeFormatException extends AgeException {
IllegalAgeFormatException(String message) {
super(message);
}
IllegalAgeFormatException() {
super("Illegal age format");
}
}
class NegativeAgeException extends IllegalAgeFormatException {
NegativeAgeException(String message) {
super(message);
}
NegativeAgeException(int age) {
super("Age must be nonnegative.");
this.age = age;
}
}
public class AgeExceptionTest {
static PrintWriter out = new PrintWriter(System.out, true);
static void rideRollerCoasterAtAge(int age)
throws NegativeAgeException,OutOfAgeLimitException {
out.println("Try to ride a roller coaster at age" + age + " ...");
if(age < 0) {
throw new NegativeAgeException(age);
}else if(age < 5) {
throw new TooYoungException(age,5,"ride a roller coaster");
}else if(age > 45) {
throw new TooOldException(age, 45, "ride a rooler coaster");
}
out.println("Riding the roller coaster......");
}
public static void main(String[] args) {
int[] ages = {-3, 2, 10,35,65};
for( int i = 0; i < ages.length; i++) {
try {
rideRollerCoasterAtAge(ages[i]);
out.println("Wow! what.an experience!");
}catch(OutOfAgeLimitException e) {
if(ages[i] < e.ageLimit) {
out.println((e.ageLimit - ages[i]) +
"more years and you'll be able to try it.");
}
else {
out.println((ages[i] - e.ageLimit) +
"years ago riding it was like a piece of cake.");
}
}catch(NegativeAgeException e) {
out.println(e.getMessage());
}finally {
out.println();
}
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
java 经典例题-j2se阶段各个知识点例题
共143个文件
java:66个
txt:20个
jcw:19个
4星 · 超过85%的资源 需积分: 10 26 下载量 105 浏览量
2008-11-09
08:45:07
上传
评论
收藏 71KB RAR 举报
温馨提示
java中的经典例题 对初学着 和j2se培训很实用 涵盖了各个知识点
资源详情
资源评论
资源推荐
收起资源包目录
java 经典例题-j2se阶段各个知识点例题 (143个子文件)
modifyStrBuffer.java.bak 530B
Serialization.class 2KB
Account.class 1KB
Count.class 1KB
Deposit.class 1KB
modifyStrBuffer.class 1KB
User.class 555B
DepositThread.class 514B
Student.class 429B
Test.class 422B
Value.class 396B
1.html 91B
1.html 90B
1.html 90B
1.html 88B
CreateSequentialFile.java 3KB
BankUI.java 3KB
Test.java 3KB
DivideByZeroTest.java 2KB
ThreadInfo.java 2KB
WaitPandC.java 2KB
CalendarTest.java 2KB
Demo.java 2KB
NoWaitPandC.java 2KB
GetCalendar.java 2KB
MethodTest.java 1KB
PriorityTest.java 1KB
Test.java 1KB
Daemons.java 1KB
AdjustmentEventTest.java 1KB
AdjustmentEventTest.java 1KB
WithThread.java 1KB
GregorianCalendar.java 1KB
UnsynchedSwaps.java 1KB
Deposit.java 1KB
UnsynchedFileIo.java 1KB
SynchedSwaps.java 1010B
PointTest.java 984B
Serialization.java 937B
BankAccountRecord.java 914B
Account.java 889B
WithoutThread.java 884B
HellloThread.java 791B
HoldIntegerSynchronized.java 784B
ThreadBasic.java 679B
Count.java 668B
Count.java 654B
HelloThread.java 639B
AncestorEventTest.java 634B
Test.java 628B
ConsumeInteger.java 595B
Employee.java 592B
Test.java 582B
ConsumeInteger.java 562B
ProduceInteger.java 550B
ProduceInteger.java 548B
modifyStrBuffer.java 530B
Director.java 515B
CharCode.java 512B
PrintThread.java 485B
ButtonDelegateTest.java 452B
Manager.java 452B
ThreadTester.java 450B
DepositThread.java 450B
HoldIntegerUnsynchronized.java 409B
Polymorph.java 327B
Test.java 317B
Test.java 309B
Bus.java 281B
Vehicle.java 273B
Student.java 272B
StudentUser.java 265B
Car.java 261B
SharedCell.java 254B
Test.java 253B
SharedCell.java 248B
Test.java 242B
DivideByZeroException.java 219B
User.java 206B
DisplayThreads.java 173B
DayException.java 106B
Student.jcd 2KB
Test2.jcd 2B
Test.jcd 2B
Thread.jcp 1008B
BankUI.jcp 829B
Polymorph.jcp 802B
SharedCell.jcp 747B
SharedCell.jcp 745B
Student.jcp 714B
ThreadTester.jcp 625B
DisplayThreads.jcp 578B
SynchedSwaps.jcp 570B
ThreadsBasic.jcp 568B
UnsynchedFileIo.jcp 567B
HelloThread.jcp 567B
HelloThread.jcp 566B
Thread.jcp 562B
Count.jcp 542B
Test.jcp 538B
共 143 条
- 1
- 2
kepingdu
- 粉丝: 0
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1