public?interface?Transport?{
????//選擇的交通方式
????public?void?traffic();
}
public?class?Train?implements?Transport{
????@Override
????public?void?traffic()?{
????????System.out.println("您好,您選擇了火車作為出行方式,我將竭誠(chéng)為您服務(wù)");
????}
}
public?class?Airplane?implements??Transport{
????@Override
????public?void?traffic()?{
????????System.out.println("您好,您選擇了飛機(jī)作為出行方式,我將竭誠(chéng)為您服務(wù)");
????}
}
public?class?Bus?implements?Transport{
????@Override
????public?void?traffic()?{
????????System.out.println("您好,您選擇了巴士作為出行方式,我將竭誠(chéng)為您服務(wù)");
????}
}
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("請(qǐng)您輸入出發(fā)地到目的地的距離為:");
????????int?distancer?=new?Scanner(System.in).nextInt();
????????CustomerSrevice?customerSrevice?=?new?CustomerSrevice();
????????Transport?transport?=customerSrevice.contact(1200);
????????transport.traffic();
????}
}
2021-03-15
看你的代碼是把鍵盤輸入賦值給distancer,那么你在調(diào)用CustomerSrevice類的實(shí)例化對(duì)象customerSrevice中的conta方法時(shí),只需要將傳入?yún)?shù)1200換成distancer即可。除此之外,CustomerService類中其實(shí)并不需要main方法,你的main應(yīng)該也是跟著課程做的嘗試,使用時(shí)并不需要。