package?com.bk.may.test01;
import?java.util.Scanner;
public?class?Test?{
??//靜態(tài)初始化對象?ps:傳上來的時候直接粘貼忘了分行,,,點進去一看全都貼在一起了
??static?Car?c0?=?new?Car();
??static?Scanner?sc?=?new?Scanner(System.in);
??//初始化所有汽車的屬性
??public?static?void?setAttribute(){
??????c0.setCarAttribute(1,500,4,"奧迪A4??",0);
??????c0.setCarAttribute(2,400,4,"馬自達6??",0);
??????c0.setCarAttribute(3,450,4,"皮卡雪6??",0);
??????c0.setCarAttribute(4,800,20,"金龍??",2);
??????c0.setCarAttribute(5,400,0,"松花江??",4);
??????c0.setCarAttribute(6,1000,0,"依維柯??",20);
??}
??//進入系統(tǒng)時詢問使用者是否要租車
??public?static?void?enterSystem()?{
????System.out.println("歡迎使用噠噠租車系統(tǒng):\n請問您是否要租車?(1.是?2.否)");
????int?num?=?sc.nextInt();
????if(num?==?1)?
??????mainSystem();
????else?if(num?==?2)?
????????????System.out.println("感謝您的來訪!");
??? ???else?{
??? ?????System.out.println("輸入信息非法,請重試!");
??? ?????enterSystem();
??? ???}
????}
????//main方法執(zhí)行設置屬性方法和進入系統(tǒng)方法
????public?static?void?main(String[]?args)?{
??????setAttribute();
??????enterSystem();
????}
????//主菜單方法
??public?static?void?mainSystem()?{
????int?car_num?=?0;
????//展示租車信息
????System.out.println("以下是您可租車的類型及其價目表:");
????System.out.println("序號???汽車名稱????租金 ???容量");
????for(int?i=1;i<7;i++)
??????c0.showInformation(i);
????//詢問租車數(shù)量
????do?{
??????System.out.println("請輸入您要租汽車的數(shù)量:");
??????car_num?=?sc.nextInt();
??????if(car_num<1)?{
??????????System.out.println("輸入數(shù)量超出范圍,請重新輸入!");
??????} ?????
????}while(car_num<1);???
????//根據租車數(shù)量設置數(shù)組的長度
????//c0.setC_r_n(car_num);?暫時沒有用到
????for(int?i=1;?i<=car_num;?i++)?{
????????System.out.println("請輸入第"+i+"輛車的序號:");
??????int?s_n?=?sc.nextInt();
??????if(s_n>0?&&?s_n<7)?
??????????c0.scanInformation(i,s_n);
??????else?{
??????????System.out.println("輸入序號超出范圍,請重新輸入!");
??????????i--;
??????}
????}
????System.out.println("請輸入您要租汽車的天數(shù):");
????int?car_days?=?sc.nextInt();
????while(car_days<=0){
??????System.out.println("輸入天數(shù)不在法定范圍內,請重新輸入!");
??????System.out.println("請輸入您要租汽車的天數(shù):");
??????car_days?=?sc.nextInt();
????}
????//傳遞租車天數(shù)后打印賬單
????c0.setA_r(car_days);
????c0.settleAccounts();
??}
}
public?class?Car?{
??//分別定義:序號、租金/天,載人量
??private?int?seq_name[]?=?new?int[10];
??private?int?rent[]?=?new?int[10];
??private?int?per_cap[]?=?new?int[10];
??private?int?car_rent_num[]?=?new?int[100];
??private?int?all_rent_daily?=?0;
??private?int?all_rent?=?0;
??private?int?all_per_cap?=?0;
??//定義載貨量
??private?double?fre_vol[]?=?new?double[10];
??private?double?all_fre_vol?=?0;
??//定義汽車名稱
??private?String?car_name[]?=?new?String[10];
??private?String?all_per_cap_name?=?"";
??private?String?all_fre_vol_name?=?"";
??//當載人數(shù)>0時返回字符串
??private?String?printPer_cap(int?s_n){
????if(per_cap[s_n-1]>0){
??????return?"載人數(shù):"+per_cap[s_n-1]+"人??";
????}
????else{
??????return?"?";
????}
??}
??//當載貨量>0時返回字符串
??private?String?printFre_vol(int?s_n){
????if(fre_vol[s_n-1]>0){
????????return?"載貨量:"+fre_vol[s_n-1]+"噸??";
????}
????else{
??????return?"";
????}
??}
??//返回含有汽車相關信息的字符串
??private?String?printFirst(int?s_n){
????return?seq_name[s_n-1]+".??"+car_name[s_n-1]+"?"+rent[s_n-1]+"元/天??";
??}
??//輸出汽車的所有相關信息
??public?void?showInformation(int?s_n){
????System.out.println(printFirst(s_n)+printPer_cap(s_n)+printFre_vol(s_n));
??}
??//統(tǒng)計所租汽車的信息
??public?void?scanInformation(int?i,int?s_n){
????car_rent_num[i-1]?=?s_n;
????all_rent_daily?+=?rent[s_n-1];
????if(per_cap[s_n-1]>0)?{
????????all_per_cap?+=?per_cap[s_n-1];
??????all_per_cap_name?+=?car_name[s_n-1]+"?";
????}
????if(fre_vol[s_n-1]>0)?{
??????all_fre_vol?+=?fre_vol[s_n-1];
??????all_fre_vol_name?+=?car_name[s_n-1]+"?";
????}
??}??????
??//暫時沒有用到
??int?getC_r_n(int?s_n){
????return?car_rent_num[s_n];
??}
??String?getC_n(){
????return?"?"+car_name;
??}
??//定義一個set方法給數(shù)組賦值
??void?setCarAttribute(int?s_n,?int?r,?int?p_c,?String?c_n,?double?f_v){
????seq_name[s_n-1]?=?s_n;
????rent[s_n-1]?=?r;
????per_cap[s_n-1]?=?p_c;
????car_name[s_n-1]?=?c_n;
????fre_vol[s_n-1]?=?f_v;
??}
??//設置所租車數(shù)組的長度并儲存所租的每一輛車的序號
??/* 暫時沒有用到,可以通過檢索每種車序號出現(xiàn)的次數(shù)打印出完整的可用車輛
??*? eg:?"奧迪A4*5? 松花江*3"
??*? 但是已經懶得做了23333
??void?setC_r_n(int?c_n){
????int?car_rent_num[]?=?new?int[c_n];
??}
??*/
??//根據租車天數(shù)和每日租金計算得出總租金
??void?setA_r(int?c_ds){
????all_rent?=?c_ds*all_rent_daily;
??}
??//輸出賬單
??public?void?settleAccounts()?{
????System.out.println("您的賬單:");
????if(all_per_cap>0)
??????System.out.println("***可載人的車有:\n"+all_per_cap_name+"???共載人:"+all_per_cap+"人");
????if(all_fre_vol>0)
??????System.out.println("***可載貨的車有:\n"+all_fre_vol_name+"???共載貨:"+all_fre_vol+"噸");
????System.out.println("***租車總價格:"+all_rent+"元");
??}
}
2019-07-24
很不錯很不錯很不錯很不錯很不錯很不錯
2019-07-24
非常完美了!