行驶速度提醒:
高速公路上行驶的车辆,有最低时速和最高时速的限制,当低于80公里每小时车辆导航系统会发出提醒,当高于120公里每小时时车辆导航系统会发出警告。
编写一个LowSpeedException类,该子类可以创建异常对象,该异常对象调用warn()方法输出“当前时速为xx,请提高速度到80以上!”。
编写一个HighSpeedException类,该子类可以创建异常对象,该异常对象调用warn()方法输出“当前时速为xx,请减速到120以下!”。
编写一个DriveCar类,该类有一个int类型成员driveSpeed,描述驾驶速度,和一个drive(int x)方法,模拟驾驶,参数x模拟加速和减速,x>0表示加速x,x<0表示减速x,如果减速x后速度低于临界值(80)则抛出LowSpeedException异常,当加速x后速度高于临界值(120)则抛出HighSpeedException异常。
程序在主类的main()方法中的try-catch语句的try部分让DriveCar类的实例调用drive(int x) 方法,如果发现速度异常就在try-catch语句的catch部分处理。其他不完整的功能自行添加。
这几个类挺简单的呀,自己先写一下,我问题帮你改进如何。
public class LowSpeedException extends Exception {
private Integer code;
public LowSpeedException(Integer code) {
this.code = code;
warn(code);
}
public static void warn(int res) {
System.out.println("当前车速为:" + res + ",请提高速度到80以上");
}
}
public class HighSpeedException extends Exception {
private Integer code;
public HighSpeedException(int code) {
this.code = code;
warn(code);
}
public static void warn(int res) {
System.out.println("当前车速为:" + res + ",请减速度到120以下");
}
}
public class DriveCar {
static int driveSpeed;//驾驶速度
public static void main(String[] args) {
System.out.println("请输入小车当前行驶速度:");
Scanner sc = new Scanner(System.in);
driveSpeed = sc.nextInt();
System.out.println("小车当前速度为:" + driveSpeed);
int x;
while (true) {
System.out.println("对小车进行加速(大于0)和减速(小于0)(输入0可不操作):");
x = sc.nextInt();
if (0 == x) {
break;
}
drive(x);
try {
if (driveSpeed < 80) {
throw new LowSpeedException(driveSpeed);
} else if (driveSpeed > 120) {
throw new HighSpeedException(driveSpeed);
} else {
System.out.println("车速正常,请保持...");
}
} catch (LowSpeedException | HighSpeedException e) {
}
}
}
public static int drive(int x) {
driveSpeed = driveSpeed + x;
return driveSpeed;
}
}
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y