java接口
飞机的速度假设是(a*b*c)公里,火车的速 度假设是(a+b+c)公里,轮船的速度是(a+b)公里,请问这三个交通工具行驶1000 公里所需要的时间是多少?请你设计一个程序,其中包含四了文件: Common.java(接口),ComputeTime.java,Plan.java,Train.java,Ship.java 。假设现在用自行车来行使这1000公里,你设计的程序则只需要重新添加程序, 而不能对原有程序做任何修改。
提示:充分利用接口的特性,对接
口进行编程。
============================================
/**
&nb
sp;*
*/
package test;
/**
* @author
dougq
*
*/
public interface Common
{
public float payTime(float v);
}
============================================
package
test;
public class ComputeTime implements Common
{
private static final float S = 1000;
private float
t = 0;
public float payTime(float v) {
t =
S/v;
return t;
}
}
============================================
package
test;
import java.io.BufferedInputStream;
import
java.io.DataInputStream;
import
java.io.IOException;
public class Plane {
/**
* @param args
*/
public static void main(String[] args)
{
try {
Common ct = new
ComputeTime();
BufferedInputStream bs = new
BufferedInputStream(System.in);
DataInputStream
dis = new DataInputStream
(bs);
System.out.println("请输入a,b,c三个值
,用小写“,”号隔开");
String str = dis.readLine
();
String[] strArr = str.split
(",");
float[] fArr = new float
[3];
for(int i=2; i>=0; i--)
{
fArr[i] = Float.parseFloat(strArr
[i]);
}
float v = fArr[0]
*fArr[1]*fArr[2];
System.out.printf("飞机行使1000
公里所用的时间是:%8.2f小时", ct.payTime
(v));
dis.close();
} catch
(IOException e) {
e.printStackTrace
();
}
}
}
============================================
package
test;
import java.io.BufferedInputStream;
import
java.io.DataInputStream;
import
java.io.IOException;
public class Train {
/**
* @param args
*/
public static void main(String[] args)
{
try {
Common ct = new
ComputeTime();
BufferedInputStream bs = new
BufferedInputStream(System.in);
DataInputStream
dis = new DataInputStream
(bs);
System.out.println("请输入a,b,c三个值
,用小写“,”号隔开");
String str = dis.readLine
();
String[] strArr = str.split
(",");
float[] fArr = new float
[3];
for(int i=2; i>=0; i--)
{
fArr[i] = Float.parseFloat(strArr
[i]);
}
float v = fArr[0]
+fArr[1]+fArr[2];
System.out.printf("火车行使1000
公里所用的时间是:%8.2f小时", ct.payTime
(v));
dis.close();
} catch
(IOException e) {
e.printStackTrace
();
}
}
}