public?interface?Transport?{
????//選擇的交通方式
????public?void?traffic();
}
public?class?Train?implements?Transport{
????@Override
????public?void?traffic()?{
????????System.out.println("您好,您選擇了火車作為出行方式,我將竭誠為您服務");
????}
}
public?class?Airplane?implements??Transport{
????@Override
????public?void?traffic()?{
????????System.out.println("您好,您選擇了飛機作為出行方式,我將竭誠為您服務");
????}
}
public?class?Bus?implements?Transport{
????@Override
????public?void?traffic()?{
????????System.out.println("您好,您選擇了巴士作為出行方式,我將竭誠為您服務");
????}
}
package?com.imocc.objectproject.sample.system;
public?class?CustomerSrevice?{
????public??Transport?contact?(int?distance){
????????if(distance>1000){
????????????return?new?Airplane();
????????}else?if(distance<1000?&&distance?>300){
???????????return??new?Train();
????????}else?{
????????????return??new?Bus();
????????}
????}
????public?static?void?main(String[]?args)?{
????????Transport?transport?=?new?Train();
????????transport.traffic();
????????Transport?transport1?=?new?Airplane();
????????transport1.traffic();
????????Transport?transport2?=?new?Bus();
????????transport2.traffic();
????????CustomerSrevice?cs?=?new?CustomerSrevice();
????????Transport?transport3?=cs.contact(1200);
????????transport3.traffic();
????}
}
public?class?Customer?{
????public?static?void?main(String[]?args)?{
????????System.out.print("請您輸入出發地到目的地的距離為:");
????????int?distancer?=new?Scanner(System.in).nextInt();
????????CustomerSrevice?customerSrevice?=?new?CustomerSrevice();
????????Transport?transport?=customerSrevice.contact(1200);
????????transport.traffic();
????}
}
2021-03-15
看你的代碼是把鍵盤輸入賦值給distancer,那么你在調用CustomerSrevice類的實例化對象customerSrevice中的conta方法時,只需要將傳入參數1200換成distancer即可。除此之外,CustomerService類中其實并不需要main方法,你的main應該也是跟著課程做的嘗試,使用時并不需要。