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

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

只定義了一個汽車類,寫的很臃腫,還請大佬們指點

package?ca;
import?java.util.Scanner;

class?Car?{
????public?double?price;//租金
????public?int?busload;//載客量
????public?int?boatload;//載貨量
????public?String?name;//車名
}


public?class?Test?{
????public?static?void?main(String[]?args)?{
????????Scanner?scanner?=?new?Scanner(System.in);
????????Car?ad?=?new?Car();//新建對象
????????ad.price?=?500.0;
????????ad.busload?=?4;
????????ad.name="奧迪A4";

????????Car?mzd?=?new?Car();
????????mzd.price?=?400.0;
????????mzd.busload?=?4;
????????mzd.name="馬自達6";

????????Car?pk?=?new?Car();
????????pk.price?=?450.0;
????????pk.busload?=?4;
????????pk.boatload?=?2;
????????pk.name="皮卡雪6";

????????Car?jl?=?new?Car();
????????jl.price?=?800.0;
????????jl.busload?=?20;
????????jl.name="金龍";

????????Car?shj?=?new?Car();
????????shj.price?=?400.0;
????????shj.boatload?=?4;
????????shj.name="松花江";

????????Car?ywk?=?new?Car();
????????ywk.price?=?1000.0;
????????ywk.boatload?=?20;
????????ywk.name="依維柯";

????????System.out.println("歡迎使用租車系統");
????????System.out.println("您是否要租車:1是?0否");
????????int?a?=?scanner.nextInt();
????????if?(a?==?0)?{
????????????System.out.println("退出系統");
????????}?else?if?(a?==?1)?{
????????????System.out.println("您可租車的類型及價目表:");
????????????System.out.println("序號?汽車名稱?租金??????容量");
????????????System.out.println("1????奧迪A4???500元/天??載人:4人");
????????????System.out.println("2????馬自達6??400元/天??載人:4人");
????????????System.out.println("3????皮卡學6??450元/天??載人:4人??載貨:2噸");
????????????System.out.println("4????金龍?????800元/天??載人:20人");
????????????System.out.println("5????松花江???400元/天??載活:4噸");
????????????System.out.println("6????依維柯???1000元/天?載活:20噸");


???????????System.out.println("請輸入您要租車的數量");
???????????int?num=scanner.nextInt();
???????????//System.out.println(b);
????????????Car[]?obj=new?Car[num];//定義對象數組


??????????//將輸入的對象保存至對象數組
???????????for?(int?i=1;i<=num;i++)?{
???????????????System.out.println("請輸入第"?+?i?+?"量車的序號");
???????????????int?c?=?scanner.nextInt();
???????????????switch?(c){
???????????????????case?1:obj[i-1]=ad;
???????????????????break;
???????????????????case?2:obj[i-1]=mzd;
???????????????????break;
???????????????????case?3:obj[i-1]=pk;
???????????????????break;
???????????????????case?4:obj[i-1]=jl;
???????????????????break;
???????????????????case?5:obj[i-1]=shj;
???????????????????break;
???????????????????case?6:obj[i-1]=ywk;
???????????????????break;
???????????????????default:{
???????????????????????System.out.println("輸入錯誤,請重新輸入");
???????????????????????i--;
???????????????????????break;
???????????????????}

???????????????}

???????????}

????????????System.out.println("請輸入租車天數");
????????????int?day=scanner.nextInt();

????????????System.out.println("您的賬單");
????????????System.out.println("可載人的車有:");

????????????//計算載客量
????????????int?busload=0;
????????????for(int?j=0;j<num;j++){
????????????????if(obj[j].busload>0){
????????????????????System.out.print(obj[j].name+"??");
????????????????}
????????????????busload+=obj[j].busload;
????????????}
????????????System.out.println("共載人:"+busload+"人");

????????????//計算載貨量
????????????System.out.println("可載貨的車有:");
????????????int?boatload=0;
????????????for(int?k=0;k<num;k++){
????????????????if(obj[k].boatload>0){
????????????????????System.out.print(obj[k].name+"??");
????????????????}
????????????????boatload+=obj[k].boatload;
????????????}
????????????System.out.println("共載貨:"+boatload+"噸");

????????????//計算租金
????????????int?price=0;
????????????for(int?m=0;m<num;m++){
????????????????price+=obj[m].price;
????????????}
????????????price=price*day;
????????????System.out.println("租車總價格:"+price+"元");

???????}else?{
???????????System.out.println("輸入錯誤");
???????}

????????}
????}


正在回答

3 回答

  1. 在car類里寫一個有參構造方法,這樣new的時候可以直接 Car ad= new Car(500,4,"奧迪4");

  2. System.out.println("1????奧迪A4???500元/天??載人:4人");
    ????????????System.out.println("2????馬自達6??400元/天??載人:4人");
    ????????????System.out.println("3????皮卡學6??450元/天??載人:4人??載貨:2噸");
    ????????????System.out.println("4????金龍?????800元/天??載人:20人");
    ????????????System.out.println("5????松花江???400元/天??載活:4噸");
    ????????????System.out.println("6????依維柯???1000元/天?載活:20噸");

    這些應該用循環打印,不然你前面創建那6個Car對象有啥用?

  3. ?//將輸入的對象保存至對象數組
    ???????????for?(int?i=1;i<=num;i++)?{
    ???????????????System.out.println("請輸入第"?+?i?+?"量車的序號");
    ???????????????int?c?=?scanner.nextInt();
    ???????????????switch?(c){
    ???????????????????case?1:obj[i-1]=ad;
    ???????????????????break;
    ???????????????????case?2:obj[i-1]=mzd;
    ???????????????????break;
    ???????????????????case?3:obj[i-1]=pk;
    ???????????????????break;
    ???????????????????case?4:obj[i-1]=jl;
    ???????????????????break;
    ???????????????????case?5:obj[i-1]=shj;
    ???????????????????break;
    ???????????????????case?6:obj[i-1]=ywk;
    ???????????????????break;
    ???????????????????default:{
    ???????????????????????System.out.println("輸入錯誤,請重新輸入");
    ???????????????????????i--;
    ???????????????????????break;
    ???????????????????}
    
    ???????????????}
    
    ???????????}

    這里可以在循環里直接計算出載人和載貨量和一天的租金m,不需要下面再寫循環,然后用m乘以天數就是總租金了。這里你思考一下,是可以實現的。

  4. 對初學者來說,能實現就很棒了,加油。


1 回復 有任何疑惑可以回復我~
#1

柚n

這個建議很用心了可以說是!
2019-07-03 回復 有任何疑惑可以回復我~

在別的回答下看到,所選車名可以用String name =“? ”;解決 省了好多事?

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

最后的界面

https://img1.sycdn.imooc.com//5cc115900001c19a02910516.jpg

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

舉報

0/150
提交
取消

只定義了一個汽車類,寫的很臃腫,還請大佬們指點

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

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

幫助反饋 APP下載

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

公眾號

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