亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

怎么優化呀,感覺代碼冗余

package com.dadazuche;

//車父類

public class Car {

//封裝

private String ctype;//車型

private String cname;//車名

private int cnum; //車載量

private int cprice; //日租金

//帶參數方法

public Car(String type,String name,int num,int price){

ctype=type;

cname=name;

cnum=num;

cprice=price;

}?

//獲取車型方法

public String getCtype(){

return ctype;

}

//賦值車型方法

public void setCtype(String type){

ctype=type;

}

//獲取車名方法

public String getCname(){

return cname;

}

//賦值車名方法

public void setCname(String name){

cname=name;

}

//獲取車載量方法

public int getCnum(){

return cnum;

}

//賦值車載量方法

public void setCnum(int num){

cnum=num;

}

//獲取日租金方法

public int getCprice(){

return cprice;

}

//賦值日租金方法

public void setCprice(int price){

cprice=price;

}

//計算總租金方法

public int sum(int unit,int days){

return unit*days*getCprice();

}

}


package com.dadazuche;

//卡車子類,繼承父類

public class Truck extends Car {


public Truck(String type, String name, int num, int price) {

super(type, name, num, price);

// TODO Auto-generated constructor stub

}

}

//客車子類,繼承父類

package com.dadazuche;

public class Bus extends Car {

public Bus(String type, String name, int num, int price) {

super(type, name, num, price);

// TODO Auto-generated constructor stub

}

}

//皮卡車子類,繼承父類

package com.dadazuche;

public class Pickup extends Car {

public Pickup(String type, String name, int num, int price) {

super(type, name, num, price);

// TODO Auto-generated constructor stub

}

}

//測試執行

package com.dadazuche;

import java.util.Scanner;

public class Use {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

int j=0;

int a=0;

Truck[] truck={new Truck("重卡","一汽乘龍",200,1500),new Truck("重卡","東風康明斯",250,1800),new Truck("中卡","北京解放",100,800),new Truck("輕卡","峻嶺v系列",50,500)};

Bus[] Bus={new Bus("大巴","宇通客車",45,900),new Bus("大巴","金龍客車",45,900),new Bus("中巴","金旅客車",30,600),new Bus("小巴","金杯系列",10,300)};

Pickup[] Pickup={new Pickup("皮卡","吉普系列",5,400),new Pickup("帶后巷","江鈴系列",5,600)};

Scanner input=new Scanner(System.in);

System.out.println("歡迎使用噠噠租車!");

System.out.println("請選擇您的租車用途:1 拉貨 ? 2 載客 ?3 綜合");

int in1=input.nextInt();

while(in1!=1&&in1!=2&&in1!=3&&a<3){

a++;

System.out.println("您的輸入有誤,請按提示選擇編號!");

System.out.println("請選擇您的租車用途:1 拉貨 ? 2 載客 ?3 綜合");

in1=input.nextInt();

}

System.out.println(a);

System.out.println(in1);

if (a>=3){System.out.println("您的輸入錯誤次數超過限制,歡迎下次再來!");}

if(in1==1){

System.out.println("拉貨,有如下車型可以選擇!");

for(int i=0;i<truck.length;i++){

j++;

System.out.println("編號:"+j+" " +" 車型:"+truck[i].getCtype() +" ? 品牌:"+ truck[i].getCname() +" ? 車載量:"+truck[i].getCnum() +"噸 ? ?日租金:"+truck[i].getCprice()+" 元");

}

System.out.println("請選擇車型編號:");

int in2=input.nextInt();

a=0;

while((in2>j||in2==0)&&a<3){

a++;

System.out.println("您的輸入有誤,請按提示選擇編號!");

System.out.println("請選擇車型編號:");

in2=input.nextInt();

}

if(a>=3){System.out.println("您的輸入錯誤次數超過限制,歡迎下次再來!");}

else {

System.out.println("輸入租用車數:");

int in3=input.nextInt();

System.out.println("輸入租用天數:");

int in4=input.nextInt();

? ? ? ?Truck tru= truck[in2-1];

? ? ? ?int sum=tru.sum(in3, in4);

? ? ? ? System.out.println("您選擇的是: "+in2+" "+"車型:"+truck[in2-1].getCtype() +" ? 品牌:"+ truck[in2-1].getCname() +" ? 車載量:"+truck[in2-1].getCnum() +"噸 ? ?日租金:"+truck[in2-1].getCprice()+" 元");

? ? System.out.println("租用車數 ?"+in3+" 輛 ?,租用天數 "+in4+" 天 ,總共 "+sum+" 元");

}}

?if(in1==2){

System.out.println("載客,有如下車型可以選擇!");

for(int i=0;i<Bus.length;i++){

j++;

System.out.println(j+" " +" 車型:"+Bus[i].getCtype() +" ? 品牌:"+ Bus[i].getCname() +" ? 車載量:"+Bus[i].getCnum() +"噸 ? ?日租金:"+Bus[i].getCprice()+" 元");

}

System.out.println("請選擇車型:");

int in2=input.nextInt();

a=0;

while((in2>j||in2==0)&&a<3){

a++;

System.out.println("您的輸入有誤,請按提示選擇編號!");

System.out.println("請選擇車型:");

in2=input.nextInt();

}

if(a>=3){System.out.println("您的輸入錯誤次數超過限制,歡迎下次再來!");}

else{

System.out.println("輸入租用車數:");

int in3=input.nextInt();

System.out.println("輸入租用天數:");

int in4=input.nextInt();

Bus bus= Bus[in2-1];

? ? ? ?int sum=bus.sum(in3, in4);

? ? ? ? System.out.println("您選擇的是: "+in2+" "+"車型:"+Bus[in2-1].getCtype() +" ? 品牌:"+ Bus[in2-1].getCname() +" ? 車載量:"+Bus[in2-1].getCnum() +"噸 ? ?日租金:"+Bus[in2-1].getCprice()+" 元");

? ? System.out.println("租用車數 ?"+in3+" 輛 ?,租用天數 "+in4+" 天 ,總共 "+sum+" 元");

}}

?if(in1==3){

System.out.println("綜合,有如下車型可以選擇!");

for(int i=0;i<Pickup.length;i++){

j++;

System.out.println(j+" " +" 車型:"+Pickup[i].getCtype() +" ? 品牌:"+ Pickup[i].getCname() +" ? 車載量:"+Pickup[i].getCnum() +"噸 ? ?日租金:"+Pickup[i].getCprice()+" 元");

}

System.out.println("請選擇車型:");

int in2=input.nextInt();

a=0;

while((in2>j||in2==0)&&a<3){

System.out.println("您的輸入有誤,請按提示選擇編號!");

System.out.println("請選擇車型:");

in2=input.nextInt();

a++;

}

if(a>=3){System.out.println("您的輸入錯誤次數超過限制,歡迎下次再來!");}

else{

System.out.println("輸入租用車數:");

int in3=input.nextInt();

System.out.println("輸入租用天數:");

int in4=input.nextInt();

Pickup pickup= Pickup[in2-1];

? ? ? ?int sum=pickup.sum(in3, in4);

? ? ? ? System.out.println("您選擇的是: "+in2+" "+"車型:"+Pickup[in2-1].getCtype() +" ? 品牌:"+ Pickup[in2-1].getCname() +" ? 車載量:"+Pickup[in2-1].getCnum() +"噸 ? ?日租金:"+Pickup[in2-1].getCprice()+" 元");

? ? System.out.println("租用車數 ?"+in3+" 輛 ?,租用天數 "+in4+" 天 ,總共 "+sum+" 元");

}}

}

}


正在回答

1 回答

你可以將你代碼重復的部分封裝成帶參的方法,進行調用。比如你對輸入的校驗這一塊,可以封裝成一個校驗的方法,你選擇的車型那也可以封裝成方法

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

怎么優化呀,感覺代碼冗余

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號