package?systemofcarrent;
import?java.util.Scanner;
public?abstract?class?Car?{
????private?String?carName;
????private?int?rentMoney;
????public?Car(String?carName,?int?rentMoney){
????????this.carName?=?carName;
????????this.rentMoney?=?rentMoney;
????}
????public?void?setCarName(String?carName)?{
????????this.carName?=?carName;
????}
????public?void?setRentMoney(int?rentMoney)?{
????????this.rentMoney?=?rentMoney;
????}
????public?String?getCarName()?{
????????return?carName;
????}
????public?int?getRentMoney()?{
????????return?rentMoney;
????}
????public?abstract?String?printInfo();
}
class?FamilyCar?extends?Car{
????private?int?peopleCap;
????public?FamilyCar(String?carName,?int?rentMoney,?int?peopleCap){
????????super(carName,?rentMoney);
????????this.peopleCap?=?peopleCap;
????}
????public?void?setPeopleCap(int?peopleCap)?{
????????this.peopleCap?=?peopleCap;
????}
????public?int?getPeopleCap()?{
????????return?peopleCap;
????}
????public?String?printInfo(){
????????return?super.getCarName()?+?"\t"?+?super.getRentMoney()?+?"元/天?"+?"\t載人:"?+?peopleCap?+?"人";
????}
}
class?Trunk?extends?Car{
????private?int?cargoCap;
????public?Trunk(String?carName,?int?rentMoney,?int?cargoCap){
????????super(carName,?rentMoney);
????????this.cargoCap?=?cargoCap;
????}
????public?void?setCargoCap(int?cargoCap)?{
????????this.cargoCap?=?cargoCap;
????}
????public?int?getCargoCap()?{
????????return?cargoCap;
????}
????public?String?printInfo(){
????????return?super.getCarName()?+?"\t"?+?super.getRentMoney()?+?"元/天?"+?"\t載貨:"?+?cargoCap?+?"噸";
????}
}
class?Pickup?extends?Car{
????private?int?cargoCap;
????private?int?peopleCap;
????public?Pickup(String?carName,?int?rentMoney,?int?peopleCap,?int?cargoCap){
????????super(carName,?rentMoney);
????????this.cargoCap?=?cargoCap;
????????this.peopleCap?=?peopleCap;
????}
????public?void?setCargoCap(int?cargoCap)?{
????????this.cargoCap?=?cargoCap;
????}
????public?void?setPeopleCap(int?peopleCap)?{
????????this.peopleCap?=?peopleCap;
????}
????public?int?getCargoCap()?{
????????return?cargoCap;
????}
????public?int?getPeopleCap()?{
????????return?peopleCap;
????}
????public?String?printInfo(){
????????return?super.getCarName()?+?"\t"?+?super.getRentMoney()?+?"元/天?"+?"\t載人:"?+?peopleCap?+?"人"?+?"?載物:"?+?cargoCap?+?"噸";
????}
}
class?Demo{
????public?static?void?main(String[]?args)?{
????????final?int[]?totalBill?=?{0};
????????int?rentDay?=?0;
????????int?finalBill?=?0;
????????Car?[]cars?=?new?Car[]{
????????????????new?FamilyCar("奧迪A4",?500,?4),
????????????????new?FamilyCar("馬自達6",?400,?4),
????????????????new?Pickup("皮卡雪6",?450,?4,?2?),
????????????????new?FamilyCar("金龍",?800,?20),
????????????????new?Trunk("松花江",?400,?4),
????????????????new?Trunk("依維柯",?1000,?20)
????????};
????????System.out.println("歡迎使用答答租車系統:");
????????System.out.println("您是否要租車:1是?0否");
????????Scanner?s?=?new?Scanner(System.in);
????????int?input?=?s.nextInt();
????????if(input?==?1){
????????????System.out.println("序號?汽車名稱??租金?????????容量");
????????????int?count?=?1;
????????????for(int?i?=?0;?i?<?cars.length;?i++){
????????????????System.out.println(count?+?"\t"?+?cars[i].printInfo());
????????????????count++;
????????????}
????????}else{
????????????System.out.println("感謝您的支持,歡迎下次使用");
????????????return;
????????}
????????System.out.println("請輸入您要租車的數量:");
????????Scanner?s1?=?new?Scanner(System.in);
????????int?input1?=?s1.nextInt();
????????class?A?{
????????????public?void?wrongHandle(){
//????????????????System.out.println("請輸入您要租車的數量:");
//????????????????Scanner?s1?=?new?Scanner(System.in);
//????????????????int?input1?=?s1.nextInt();
????????????????for(int?i?=?1;?i?<=?input1;?i++?){
????????????????????System.out.println("請輸入第"?+?i?+?"輛車的序號:");
????????????????????Scanner?s2?=?new?Scanner(System.in);
????????????????????int?input2?=?s2.nextInt();
????????????????????totalBill[0]?+=?cars[input2?-?1].getRentMoney();
????????????????}
????????????}
????????}
//????????for(int?i?=?1;?i?<=?input1;?i++?){
//????????????System.out.println("請輸入第"?+?i?+?"輛車的序號:");
//????????????Scanner?s2?=?new?Scanner(System.in);
//????????????int?input2?=?s2.nextInt();
//????????????totalBill?+=?cars[input2?-?1].getRentMoney();
//????????}
????????A?a?=?new?A();
????????a.wrongHandle();
????????if(input1?==?0){
????????????System.out.println("你的輸入有誤,請您重新輸入。");
????????????a.wrongHandle();
????????}
????????System.out.println("請輸入租車天數:");
????????Scanner?s3?=?new?Scanner(System.in);
????????int?input3?=?s3.nextInt();
????????rentDay?=?input3;
????????finalBill?=?totalBill[0]?*?rentDay;
????????System.out.println("您的賬單:\n"?+?finalBill);
????}
}
2020-03-22
66666
2020-02-13
前面30行是什么意思?
2020-01-10
有點小問題:
totalBill[
0]這個定義成常量final了,那后面的操作應該改變不了它的值,所以運行結果,finalBill為0
2019-12-21
?朋友,你這行代碼中
totalBill[
0
]?+=?cars[input2?-?
1
].getRentMoney(),“
cars[input2?-?
1
]”是什么意思,是指車的單價嗎,怎么解釋?
2019-12-20
mark一下,一會兒對照自己的改一下,感覺你寫的封裝性比較好
2019-12-19
厲害?,hh讓我參考參考