Java编写 为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。现有两种工具:Car007 和Plane,其中Car007 的速度运算公式为:A*B/C,Plane 的速度运算公式为:A+B+C。需要编写三个类:ComputeTime.java,Plane.java,Car007.java和接口Common.java,要求在未来如果增加第3种或多种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。其运行过程如下,从命令行输入ComputeTime的四个参数,第一个是交通工具的类型,第二、三、四个参数分别是整数A、B、C,举例如下: 计算Plane的时间:"java ComputeTime Plane 20 30 40" 计算Car007的时间:"java ComputeTime Car007 23 34 45"
时间: 2024-02-15 12:03:53 浏览: 111
JAVA编写的一个计算器
5星 · 资源好评率100%
好的,下面是程序的实现步骤和代码示例:
1. 定义接口Common.java,包含一个方法getSpeed()用来获取交通工具的速度。
```java
public interface Common {
/**
* 获取交通工具的速度
* @return 交通工具的速度
*/
double getSpeed();
}
```
2. 实现Plane.java和Car007.java类,分别实现Common接口,并实现各自的速度运算公式。
```java
public class Plane implements Common {
private int a, b, c;
public Plane(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
@Override
public double getSpeed() {
return a + b + c;
}
}
public class Car007 implements Common {
private int a, b, c;
public Car007(int a, int b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
@Override
public double getSpeed() {
return a * b / c;
}
}
```
3. 实现ComputeTime.java类,根据输入的交通工具类型创建相应的类,并调用getSpeed()方法计算运行时间。
```java
public class ComputeTime {
public static void main(String[] args) {
if (args.length != 4) {
System.out.println("Usage: java ComputeTime <vehicle> <A> <B> <C>");
return;
}
String vehicleType = args[0];
int a = Integer.parseInt(args[1]);
int b = Integer.parseInt(args[2]);
int c = Integer.parseInt(args[3]);
Common vehicle;
if (vehicleType.equals("Plane")) {
vehicle = new Plane(a, b, c);
} else if (vehicleType.equals("Car007")) {
vehicle = new Car007(a, b, c);
} else {
System.out.println("Invalid vehicle type");
return;
}
double speed = vehicle.getSpeed();
double time = 1000 / speed;
System.out.println("Time needed to run 1000km: " + time + " hours");
}
}
```
这样,我们就完成了一个可以计算任意交通工具运行时间的通用程序。如果需要增加第3种或多种交通工具,只需要编写新的交通工具类并实现Common接口即可,不必修改原有的代码。
阅读全文