java小專案,租車系統
阿新 • • 發佈:2019-02-15
暑假因為有事耽誤了,本以為暑假完結windows程式設計的,唉,慢慢補吧,學校開了java,因為學過c++,所以覺java並不是太難,根據慕課網給的專案,做了這個租車系統
無非就是面向物件思想,定義一個抽象汽車類,然後實現各自型別的汽車類,比較基礎,就不多說了
Auto.java
package hireAuto;
public abstract class Auto {
//抽象類沒必要定義屬性,但是取得車型,價格,容量都是一樣的,不妨定義屬性
String name;
int price;
int capacity;//表示載人
int capacity2;//表示載貨
int a;//a為1則表示可以載人,反之不可
int b;//b為1則表示可以載貨,反之不可
public String getName()
{
return name;
}
public int getPrice()
{
return price;
}
public int getCapacity()
{
return capacity;
}
public int getCapacity2()
{
return capacity2;
}
//只有運輸不同
public abstract void transport();//運輸,貨車載人,客車載客
}
A.java
package hireAuto;
public class A extends Auto {
public A()
{
this.name="奧迪A4";
this.price=500;
this.capacity=4;
this.capacity2=0;
this.a=1;
this.b=0;
}
public void transport()
{
System.out.println(this .getName()+"\t"+this.getPrice()+"元/天\t\t"+"載人:"+this.getCapacity()+"人");
}
}
B.java
package hireAuto;
public class B extends Auto {
public B()
{
this.name="馬自達6";
this.price=400;//單位:元/天
this.capacity=4;//單位:人
this.capacity2=0;
this.a=1;
this.b=0;
}
public int getPricePerDay()
{
return getPrice()*getCapacity();
}
public void transport()
{
System.out.println(this.getName()+"\t"+this.getPrice()+"元/天\t\t"+"載人:"+this.getCapacity()+"人");
}
}
C.java
package hireAuto;
public class C extends Auto {
int capacity2;//單位:噸
public C()
{
this.name="皮卡雪6";//即可載人,也可載貨
this.price=450;//單位:元/天
this.capacity=4;//單位:人
this.capacity2=2;//單位:噸
this.a=1;
this.b=1;
}
public int getCapacity2()
{
return capacity2;
}
public void transport() {
// TODO Auto-generated method stub
System.out.println(getName()+"\t"+getPrice()+"元/天\t\t"+"載人:"+getCapacity()+"人 載貨:"+getCapacity2()+"噸");
}
}
D.java
package hireAuto;
public class D extends Auto {
public D()
{
this.name="金龍";
this.price=800;//單位:元/天
this.capacity=20;//單位:人
this.capacity2=0;
this.a=1;
this.b=0;
}
@Override
public void transport() {
// TODO Auto-generated method stub
System.out.println(getName()+"\t"+getPrice()+"元/天\t\t"+"載人:"+getCapacity()+"人");
}
}
E.java
package hireAuto;
public class E extends Auto {
public E()
{
this.name="松花江";
this.price=400;//單位:元/天
this.capacity=0;
this.capacity2=4;
this.a=0;
this.b=1;
}
@Override
public void transport() {
// TODO Auto-generated method stub
System.out.println(getName()+"\t"+getPrice()+"元/天\t\t"+"載貨:"+getCapacity()+"噸");
}
}
F.java
package hireAuto;
public class F extends Auto {
public F()
{
this.name="依維柯";
this.price=1000;//單位:元/天
this.capacity=0;//單位:噸
this.capacity2=20;
this.a=0;
this.b=1;
}
@Override
public void transport() {
// TODO Auto-generated method stub
System.out.println(getName()+"\t"+getPrice()+"元/天\t"+"載貨:"+getCapacity()+"噸");
}
}
hireAutoSystem.java(相當於c++的主函數了)
package hireAuto;
import java.util.Scanner;
public class hireAutoSystem {
public static void main(String[] args) {
// TODO Auto-generated method stub
final int count=6;//可租用的數量
System.out.println("歡迎來到滴滴租車系統");
System.out.println("是否租車:1(是),0(否)");
Scanner input=new Scanner(System.in);
int iSel=input.nextInt();
if(iSel==0)
{
System.out.println("歡迎使用此係統,再見");
return ;
}
System.out.println("下面是可租車的型別及價格等資訊");
System.out.println("序號\t汽車型號\t租金\t\t容量");
Auto[] autoArr=new Auto[6];
autoArr[0]=new A();
autoArr[1]=new B();
autoArr[2]=new C();
autoArr[3]=new D();
autoArr[4]=new E();
autoArr[5]=new F();
for(int i=0;i<count;++i)
{
System.out.print(i+1+"\t");
autoArr[i].transport();
}
System.out.println("請輸入要租車的數量(最大為"+count+"):");
int iCount=input.nextInt();
if(iCount>count)
{
System.out.println("對不起,輸入數量有誤!!!再見");
return;
}
int[] auto=new int[iCount];
System.out.println("請依次輸入要租車的序號");
for(int i=0;i<iCount;++i)
auto[i]=input.nextInt()-1;
System.out.println("請輸入租車天數");
int days=input.nextInt();
System.out.println("賬單如下:");
System.out.println("可載人的車");
int totalPrice=0;
int iPerson=0;
int iGoods=0;
for(int i=0;i<iCount;++i)
{
totalPrice+=autoArr[auto[i]].price;
if(autoArr[auto[i]].a==1)
{
System.out.print(autoArr[auto[i]].getName()+"\t");
iPerson+=autoArr[auto[i]].getCapacity();
}
}
System.out.println("共載人:"+iPerson+"人");
System.out.println("可載貨的車");
for(int i=0;i<iCount;++i)
if(autoArr[auto[i]].b==1)
{
System.out.print(autoArr[i].getName()+"\t");
iGoods+=autoArr[auto[i]].getCapacity2();
}
System.out.println("共載貨:"+iGoods+"噸");
System.out.println("總價格:"+days*totalPrice);
}
}