交作業(yè),請大神指點如何繼續(xù)優(yōu)化,不勝感激
抽象類car
import java.util.*;
public abstract class Car {
?public String name;
?public int num;
?public int person;
?public int loads;
?public int rent;
?public void setNum(int num) {
??this.num=num;
??}
?public int getNum() {
??return num;
??}
?public void setRent(int rent) {
??this.rent=rent;
??}
?public int getRent() {
??return rent;
??}
?public void setPerson(int person) {
??this.person=person;
??? }
??public int getPerson() {
???return person;
?}
??public void setLoads(int loads) {
???this.loads=loads;
?}
??public int getLoads() {
???return loads;
?}
??public void setName(String name) {
???this.name=name;
??}
??public String getName() {
???return name;
??}
??
}
?子類轎車Auto?
public class Auto extends Car {
? public Auto(int num,String name,int person,int rent) {
????? this.setNum(num);
???? ?this.setName(name);
???? ?this.setPerson(person);
???? ?this.setRent(rent);
???? }
? public String toString() {
?? return (num+"\t"+name+"\t"+"載人"+person+"位"+"\t\t"+rent);
? }
} ??
子類卡車Truck
public class Truck extends Car {
??? public Truck(int num,String name,int loads,int rent) {
??? ?this.setNum(num);
??? ?this.setName(name);
??? ?this.setLoads(loads);;
??? ?this.setRent(rent);
??? }
??? public String toString() {
?? return (num+"\t"+name+"\t"+"載貨"+loads+"噸"+"\t\t"+rent);
? }
}
子類皮卡Van ? ? ??
public class Van extends Car {
?? public Van(int num,String name,int person,int loads,int rent) {
????? this.setNum(num);
????? this.setName(name);
???? ?this.setPerson(person);
???? ?this.setLoads(loads);
???? ?this.setRent(rent);
???? }
?? public String toString() {
??? return (num+"\t"+name+"\t"+"載人"+person+"位,載貨"+loads+"噸\t"+rent);
?? }
}
主程序
import java.util.Scanner;
public class Carsys {
??? public static void main(String[] args) {
??// TODO Auto-generated method stub
?????? Scanner input=new Scanner(System.in);
?????? int rentNum=0;//租車數(shù)量
?????? int rentDay=0;//租車天數(shù)
??????? //初始化車輛列表
??Car cars[]=new Car[6];
??cars[0]= new Auto(1,"奧迪A4",4,500);
??cars[1]= new Auto(2,"馬自達6",4,400);
??cars[2]= new Van(3,"皮卡雪6",4,2,450);
??cars[3]= new Auto(4,"金龍",20,800);
??cars[4]= new Truck(5,"松花江",4,400);
??cars[5]= new Truck(6,"依維柯",20,1000);
??cars[0].getName();
???? System.out.println("您好!歡迎使用噠噠租車系統(tǒng)");
???? while(true) {
???? System.out.println("請選擇:租車服務(wù)輸入1,退出系統(tǒng)輸入2");
????? int a=input.nextInt();
???? if(a==2) {
???? ?System.out.println("謝謝使用,再見!");
???? ?break;
???? ?
???? }else if(a==1){
????? System.out.println("以下是租車列表:");
????? System.out.println("編 號"+"\t類 型"+"\t容 量"+"\t\t日租金/天");
????? for(Car each:cars) {
???? ? System.out.println(each);
????? }
????? System.out.println("請輸入您要租車的數(shù)量");
????? rentNum=input.nextInt();
????? Car rentCar[]=new Car[rentNum];
????? int price=0;
????? int totalPerson=0;
????? int totalLoads=0;
????? for(int i=0;i<rentNum;i++) {
???? ? while(true) {
???? ?? System.out.println("請輸入第"+(i+1)+"輛車的編號:");
???? ?? int b=input.nextInt();
???? ?? if(b>6||b<0) {
???? ??? System.out.println("輸入有誤");
???? ?? }else {
???? ??? rentCar[i]=cars[b-1];
???? ??? break;
???? ?? }
???? ? }
????? }
????? for(int i=0;i<rentNum;i++) {
???? ? totalPerson=totalPerson+rentCar[i].person;
????? }
????? for(int i=0;i<rentNum;i++) {
???? ? totalLoads=totalLoads+rentCar[i].loads;
????? }
????? System.out.println("請輸入租車天數(shù)");
????? rentDay=input.nextInt();
????? for(int i=0;i<rentNum;i++) {
???? ? price=price+rentCar[i].rent*rentDay;
????? }
????? System.out.println("您的賬單如下:");
????? System.out.println("***可載人的車有:");
????? for(int i=0;i<rentNum;i++) {
???? ? if(rentCar[i].person!=0)
???? ? System.out.println(rentCar[i].name);
????? }
????? System.out.println("共可載人"+totalPerson+"人");
????? System.out.println("***可載貨的車有:");
????? for(int i=0;i<rentNum;i++) {
???? ? if(rentCar[i].loads!=0)
???? ? System.out.println(rentCar[i].name);
????? }
????? System.out.println("共可載貨"+totalLoads+"噸");
????? System.out.println("***租車總價格:"+price+"元");
????? System.out.println("感謝惠顧,歡迎下次光臨!");
????? break;?
???? }else {
???? ?System.out.println("輸入有誤,請重新輸入");
???? }
???? }
???? input.close();
?}
}
2018-12-18
cars[0].getName();這個用意是什么?我是java小白一枚
2018-12-17
父類為什么要用抽象類?
2018-10-31
非常好
2018-10-20
我是覺得你屬性聲明都是public,就直接賦值好了。要么就聲明為private,使用get set。
2018-10-15
66666
很完美了
基礎(chǔ)很重要