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("輸入錯誤");
???????}
????????}
????}
2019-05-06
在car類里寫一個有參構造方法,這樣new的時候可以直接 Car ad= new Car(500,4,"奧迪4");
這些應該用循環打印,不然你前面創建那6個Car對象有啥用?
這里可以在循環里直接計算出載人和載貨量和一天的租金m,不需要下面再寫循環,然后用m乘以天數就是總租金了。這里你思考一下,是可以實現的。
對初學者來說,能實現就很棒了,加油。
2019-04-25
在別的回答下看到,所選車名可以用String name =“? ”;解決 省了好多事?
2019-04-25
最后的界面