我有個(gè)問題,就是MennedCar??RentCar??OverallCar?3個(gè)類中double?menned改為和Car類一樣類型int?menned,運(yùn)行主函數(shù)到車輛信息就會(huì)出現(xiàn)輸出Null,怎么回事。package test2.DadaRentCar;/*根據(jù)所學(xué)知識,編寫一個(gè)控制臺(tái)版的“嗒嗒租車系統(tǒng)”?* 功能:?* 1、展示所有可租車輛?* 2、選擇車型、組車輛?* 展示租車清單,包含:總金額、總載量及其車型、總載人量及其車型?* ?* 參考:?* 歡迎使用嗒嗒租車系統(tǒng):?* 您是否要租車:1是?? 0否?* 1?* 您可租車的類型及其價(jià)目表:?* 序號??? 汽車名稱??? 租金????????????????? 容量?* 1.? 奧迪A4? 500/天????????? 載人:4人?* 2.? 馬自達(dá)6? 400/天???????? 載人:4人?* 3.? 金龍???????????? 800/天???????? 載人:20人?* 4.? 松花江???????? 400/天???????? 載貨:4噸?* 5.? 依維柯???????? 1000/天????? 載貨:20噸?* 6.? 皮卡雪6? 450/天???????? 載人:4人? 載貨:2噸?* 請輸入您要租汽車的數(shù)量:?* 4?* 請輸入第一輛車的序號:?* 1?* 請輸入第二輛車的序號:?* 2?* 請輸入第三輛車的序號:?* 3?* 請輸入第四輛車的序號:?* 4?* 請輸入租車天數(shù):?* 3?* ***租車信息:?* 奧迪A4? 馬自達(dá)6?? 金龍????? 松花江?* 共可載人樹:28人?* 共可載貨重:4.0噸?* ***租車總價(jià)格:?* 6300.0元?*/import java.util.*;public class RentCar {public static void main(String[] args) {??//創(chuàng)建三種車型對象??? Car car1=new MennedCar();??? Car car2=new MennedCar();??? Car car3=new MennedCar();??? Car car4=new LoadCar();??? Car car5=new LoadCar();??? Car car6=new OverallCar();? ?Scanner input=new Scanner(System.in);//創(chuàng)建Scanner對象?System.out.println("歡迎使用嗒嗒租車系統(tǒng):"+ "\n"+"您是否要租車:1是?? 0否");?int write=input.nextInt();//獲取用戶輸入信息并保存?if(write==1){System.out.println("您可租車的類型及其價(jià)目表:"+"\n"+"序號??? 汽車名稱?????? 租金????????????? 載人量?????? 載物量");??//調(diào)用載人型車型信息??car1.carPro(1,"奧迪A4",500,4,0); ??car2.carPro(2,"馬自達(dá)6",400,4,0);??car3.carPro(3,"金龍??????????? ",800,20,0);???? //調(diào)用載貨型車輛信息??car4.carPro(4,"松花江??????? ",400,0,4 );??car5.carPro(5,"依維柯??????? ",1000,0,20 );??//調(diào)用載人載貨型車輛信息?? ??car6.carPro(6,"皮卡雪??????? ",450,4,2);????System.out.println("請輸入您要租汽車的數(shù)量:(限租20量)");??int amount=input.nextInt();//獲取用戶輸入租車數(shù)量信息并保存??if(amount<=20){?? int []putnum=new int[20];?? int i=1;??for(;i<=amount;i++){System.out.println("請輸入第"+i+"輛車的序號:");?? putnum[i-1]=input.nextInt();//獲取用戶輸入車輛序號信息并保存?? //根據(jù)輸入序號輸出對應(yīng)車型?? if(putnum[i-1]==1){System.out.println(car1.name);}?? else if(putnum[i-1]==2){System.out.println(car2.name);}?? else if(putnum[i-1]==3){System.out.println(car3.name);}?? else if(putnum[i-1]==4){System.out.println(car4.name);}?? else if(putnum[i-1]==5){System.out.println(car5.name);}?? else if(putnum[i-1]==6){System.out.println(car6.name);}?? else{System.out.println("你輸入的序號有誤!");}??}??System.out.println("請輸入租車天數(shù):");??int days=input.nextInt();//獲取用戶輸入租車天數(shù)并保存??System.out.println("***租車信息:");??//循環(huán)輸出租車信息??????? for(int j=0;j<amount;j++){if(putnum[j]==1){System.out.println(car1.name);}??????? else if(putnum[j]==2){System.out.println(car2.name);}?? else if(putnum[j]==3){System.out.println(car3.name);}?? else if(putnum[j]==4){System.out.println(car4.name);}?? else if(putnum[j]==5){System.out.println(car5.name);}?? else if(putnum[j]==6){System.out.println(car6.name);}?????? }??????? //計(jì)算所租車輛總載人數(shù)??????? int[] people=new int[20];int People=0;??for(int j=0;j<amount;j++){if(putnum[j]==1){people[j]=car1.menned;}??????? else if(putnum[j]==2){people[j]=car2.menned;}?? else if(putnum[j]==3){people[j]=car3.menned;}?? else if(putnum[j]==4){people[j]=car4.menned;}?? else if(putnum[j]==5){people[j]=car5.menned;}?? else if(putnum[j]==6){people[j]=car6.menned;}??People=People+people[j];???}??System.out.println("共可載人數(shù):"+People+"人");??//計(jì)算所租車輛總載物重??double[] goods=new double[20];double Goods=0;??for(int j=0;j<amount;j++){if(putnum[j]==1){goods[j]=car1.load;}??????? else if(putnum[j]==2){goods[j]=car2.load;}?? else if(putnum[j]==3){goods[j]=car3.load;}?? else if(putnum[j]==4){goods[j]=car4.load;}?? else if(putnum[j]==5){goods[j]=car5.load;}?? else if(putnum[j]==6){goods[j]=car6.load;}??Goods=Goods+goods[j];???}??System.out.println("共可載貨重:"+Goods+"噸");??//計(jì)算所租車輛總費(fèi)用??? ?double[] monney=new double[20];double Monney=0;??for(int j=0;j<amount;j++){if(putnum[j]==1){monney[j]=car1.rent;}??????? else if(putnum[j]==2){monney[j]=car2.rent;}?? else if(putnum[j]==3){monney[j]=car3.rent;}?? else if(putnum[j]==4){monney[j]=car4.rent;}?? else if(putnum[j]==5){monney[j]=car5.rent;}?? else if(putnum[j]==6){monney[j]=car6.rent;}??Monney=Monney+monney[j];???}??Monney=Monney*days;??System.out.println("***租車總價(jià)格:");??System.out.println(Monney+"元");}else{???System.out.println("您輸入的租車數(shù)量不符合要求!");??}?}else{System.out.println("歡迎下次光臨!");}}}?package test2.DadaRentCar;public class Car {?? public String name;???? public double rent;???? public int menned;???? public double load;???? public int num;???? ???? public void carPro(int num,String name,double rent,int menned,double load){???? this.name=name;???? this.rent=rent;???? this.menned=menned;???? this.load=load;???? this.num=num;?System.out.println(??num+"?? "+name+"?? "+rent+"/天??????? "+menned+"人???????? "+load+" 噸?? ");?}?}package test2.DadaRentCar;public class MennedCar extends Car {?public void carPro(int num ,String name,double rent,double menned,double load){???}?}package test2.DadaRentCar;public class LoadCar extends Car {?public void carPro(int num, String name,double rent,double menned,double load){???}}package test2.DadaRentCar;public class OverallCar extends Car {?public void carPro(int num,String name,double rent, double menned,double load){???}}
2 回答
已采納

一條小咸魚
TA貢獻(xiàn)457條經(jīng)驗(yàn) 獲得超255個(gè)贊
用數(shù)組管理所有車的對象更好
子類和父類都相同了,為什么還要?jiǎng)?chuàng)建子類。建議重新設(shè)計(jì)繼承結(jié)構(gòu),父類值只有共有的屬性,子類有自己獨(dú)有的屬性
添加回答
舉報(bào)
0/150
提交
取消