第三期就更懒了~,直接上代码啦~
- 一个运输公司从网上得到订单,订单上标有货物重量和运输里程,该公司可以使用三种运输工具:卡车,火车,飞机。
编写运输接口,声明三个接口常量分别表示运输工具:
int PLANE=1;
int TRAIN=2;
int TRUCK=3;
同时声明一个计算费用的方法,函数的参数是重量和里程。
定义卡车类,火车类,飞机类分别实现运输接口
,计算运费的方法如下:
- 卡车:运费=重量*距离*120。当距离大于1000(km)或重量大于60(t)的时候拒载,返回-1。
- 火车:当距离在900(km)内(包含)时,运费=重量*距离*250,大于900(km)运费=重量*距离*300。
- 飞机:当距离大于500(km)时,运费=重量*距离*750,否则拒载,返回-1。
//车类,火车类,飞机类分别实现运输接口
package test4;
public class Train implements Transport {
@Override
public double calculation(double weight, double mile) {
double cost;
if (mile<=900){
cost=weight*mile*250;
}
else {
cost=weight*mile*300;
}
return cost;
}
}
//--------------------------------------------------------------------
package test4;
public class Truck implements Transport {
@Override
public double calculation(double weight, double mile) {
if (mile>1000||weight>60){
return -1.0;
}
else {
double cost=weight*mile*120;
return cost;
}
}
}
//--------------------------------------------------------------------
package test4;
public interface Transport {
final int PLANE=1;
final int TRAIN=2;
final int TRUCK=3;
double calculation(double weight,double mile);
}
//--------------------------------------------------------------------
package test4;
public class Plane implements Transport {
@Override
public double calculation(double weight, double mile) {
if (mile>500){
double cost=weight*mile*750;
return cost;
}
else {
return -1.0;
}
}
}
//--------------------------------------------------------------------
package test4;
public class TransportTest {
public static void main(String[] args) {
Transport transport=new Plane();
System.out.println("飞机运费\t"+transport.calculation(10,550));
transport=new Train();
System.out.println("火车运费\t"+transport.calculation(10,550));
transport=new Truck();
System.out.println("货车运费\t"+transport.calculation(10,550));
}
}
代码实现: