亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

自寫的代碼,請大神們多多指教

測試類:

package com.carcrental;

import java.util.Scanner;


public class Test {


private static final String NULL = null;

private static Scanner input;


public static void main(String[] args) {

// TODO Auto-generated method stub

for(;;){

System.out.println("歡迎使用答答租車系統!");

System.out.println("您是否需要租車:1是 ?0否");

input = new Scanner(System.in);

int i=input.nextInt();

if(i==1){

System.out.println("您可租車的類型及其價目表:");

Car[] carForRent={new PersonCar(1,"奧迪A4",500,4),new PersonCar(2,"馬自達6",400,4),

? ? ? ? ? ? ? ? ? ? new Pickup(3,"皮卡雪6",450,4,2),new PersonCar(4," 金龍 ",800,20),

? ? ? ? ? ? ? ? ? ? new Truck(5,"松花江",400,4),new Truck(6,"依維柯",1000,20)};

System.out.println("序號"+"\t"+"汽車名稱"+"\t"+"租金"+"\t"+"容量");

//遍歷Car類

for(Car car : carForRent){

?if(car instanceof PersonCar){

? ? ? ? ? ? ? ? ? ?//若它是客車類型的實例,則打印出客車應該有的屬性值,這里注意強轉,否則不會出現

? ? ? ? ? ? ? ? ? ?//passengerCar類的CarCapacity屬性

? ? ? ? ? ? ? ? ? ?System.out.println(car.getCarNumber()+"\t"+car.getCarName()+"\t"+car.getCarPrice()

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+"/天"+"\t"+"載人:"+((PersonCar)car).getCarCapacity()+"人");

? ? ? ? ? ? ? ? ? ??

? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ?if(car instanceof Pickup){

? ? ? ? ? ? ? ? ? ?System.out.println(car.getCarNumber()+"\t"+car.getCarName()+"\t"+car.getCarPrice()

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+"/天"+"\t"+"載人:"+((Pickup)car).getCarCapacity()+"人"+"\t"

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+"載貨:"+((Pickup)car).getCarrayingCapacity()+"噸");

? ? ? ? ? ? ? ?}

? ? ? ? ? ? ? ?if(car instanceof Truck){

? ? ? ? ? ? ? ? ? ?System.out.println(car.getCarNumber()+"\t"+car.getCarName()+"\t"+car.getCarPrice()

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?+"/天"+"\t"+"載貨:"+((Truck)car).getCarryingCapacity()+"噸");

? ? ? ? ? ? ? ?}

? ? ? ? ? ?}

System.out.print("請輸入你租車的數量:");

int totalNum=input.nextInt(); //用于接收汽車的總數量

String[] name=new String[totalNum];

String[] name2=new String[totalNum];

int capacitySum=0;//總人數

int ccapacitySum=0;//總載貨量

int sum=0;//用于接收租車的總價格

for(int i1=0;i1<totalNum;i1++){

System.out.print("請輸入第"+(i1+1)+"輛車的序號:");

int num=input.nextInt();

System.out.print("請輸入租這輛車的天數:");

int day=input.nextInt();

switch(num){

case 1:sum=sum+carForRent[num-1].getCarPrice()*day;

capacitySum=capacitySum+4;

break;

case 2:sum=sum+carForRent[num-1].getCarPrice()*day;

capacitySum=capacitySum+4;

break;

case 3:sum=sum+carForRent[num-1].getCarPrice()*day;

capacitySum=capacitySum+4;

ccapacitySum=ccapacitySum+2;

break;

case 4:sum=sum+carForRent[num-1].getCarPrice()*day;

capacitySum=capacitySum+20;

break;

case 5:sum=sum+carForRent[num-1].getCarPrice()*day;

ccapacitySum=ccapacitySum+4;

break;

case 6:sum=sum+carForRent[num-1].getCarPrice()*day;

ccapacitySum=ccapacitySum+20;

break;

}

if(carForRent[num-1] instanceof PersonCar){

name[i1]=carForRent[num-1].getCarName();

}else if(carForRent[num-1] instanceof Pickup){

name[i1]=carForRent[num-1].getCarName();

name2[i1]=carForRent[num-1].getCarName();

}else if(carForRent[num-1] instanceof Truck){

name2[i1]=carForRent[num-1].getCarName();

}

}

System.out.println("載人的車有:");

for(String n:name){

if(n==NULL){

continue;

}

System.out.print(n);

System.out.print("\t");

}

System.out.println("***可以乘坐人數:"+capacitySum+"人");

for(String n2:name2){

if(n2==NULL){

continue;

}

System.out.print(n2);

System.out.print("\t");

}

System.out.println("***可載貨:"+ccapacitySum+"噸");

System.out.println("***你一共需要支付:"+sum);

}else if(i==0){

System.out.println("歡迎下次使用!");break;

}

else{

System.out.println("你輸入有誤!請重新輸入!");

}

System.out.println("\n");

System.out.println("\n");

}

}


/*if(i==1){

System.out.println("序號 ? ? ? ? ? ? 汽車名稱 ? ? 租金 ? ? ? ? ? ?容量");

System.out.println(1+"\t"+p1.getCarName()+"\t"+p1.getCarPrice()+"元/天"+"\t"+"載人:"+p1.getCarCapacity()+"人");

System.out.println(2+"\t"+p2.getCarName()+"\t"+p2.getCarPrice()+"元/天"+"\t"+"載人:"+p2.getCarCapacity()+"人");

System.out.println(3+"\t"+p3.getCarName()+"\t"+p3.getCarPrice()+"元/天"+"\t"+"載人:"+p3.getCarCapacity()+"人;"+"載貨:"+p3.getCarrayingCapacity()+"噸");

System.out.println(4+"\t"+p4.getCarName()+"\t"+p4.getCarPrice()+"元/天"+"\t"+"載人:"+p4.getCarCapacity()+"人");

System.out.println(5+"\t"+p5.getCarName()+"\t"+p5.getCarPrice()+"元/天"+"\t"+"載貨:"+p5.getCarryingCapacity()+"噸");

System.out.println(6+"\t"+p6.getCarName()+"\t"+p6.getCarPrice()+"元/天 載貨:"+p6.getCarryingCapacity()+"噸");

}

System.out.print("請輸入你租車的數量:");

int a=input.nextInt();

int sum=0;

for(int b=0;b<a;b++){

System.out.print("請輸入你想租的車的序號:");

int c=input.nextInt();

System.out.print("請輸入租這輛車的天數:");

int day=input.nextInt();

switch(c){

case 1:sum=sum+p1.getCarPrice()*day;break;

case 2:sum=sum+p2.getCarPrice()*day;break;

case 3:sum=sum+p3.getCarPrice()*day;break;

case 4:sum=sum+p4.getCarPrice()*day;break;

case 5:sum=sum+p5.getCarPrice()*day;break;

case 6:sum=sum+p6.getCarPrice()*day;break;

}

}

System.out.println("你一共需要支付:"+sum);*/

}

Car類:

package com.carcrental;


//所有汽車的父類

public class Car {

private int carNumber;

private String carName;

private int carPrice;

public Car(int carNumber,String carName,int carPrice){

this.carNumber=carNumber;

this.carName=carName;

this.carPrice=carPrice;

}

public int getCarNumber() {

return carNumber;

}

public void setCarNumber(int carNumber) {

this.carNumber = carNumber;

}

public String getCarName() {

return carName;

}

public void setCarName(String carName) {

this.carName = carName;

}

public int getCarPrice() {

return carPrice;

}

public void setCarPrice(int carPrice) {

this.carPrice = carPrice;

}

}

載人車類:

package com.carcrental;


public class PersonCar extends Car{

private int carCapacity;

public PersonCar(int carNumber,String carName,int carPrice,int carCapacity){

super(carNumber,carName,carPrice);

/*this.setCarNumber(carNumber);

this.setCarName(carName);

this.setCarPrice(carPrice);*/

this.carCapacity=carCapacity;

}

public int getCarCapacity() {

return carCapacity;

}

public void setCarCapacity(int carCapacity) {

this.carCapacity = carCapacity;

}

}

皮卡車:

package com.carcrental;

//皮卡類,繼承了父類Car

public class Pickup extends Car{

private int carCapacity;

private int carrayingCapacity;

//構造函數

public Pickup(int carNumber,String carName,int carPrice,int carCapacity,int carrayingCapacity){

super(carNumber,carName,carPrice);

/*this.setCarNumber(carNumber);

this.setCarName(carName);

this.setCarPrice(carPrice);*/

this.carCapacity=carCapacity;

this.carrayingCapacity=carrayingCapacity;

}

//封裝過后必須有出口

public int getCarCapacity() {

return carCapacity;

}

public void setCarCapacity(int carCapacity) {

this.carCapacity = carCapacity;

}

public int getCarrayingCapacity() {

return carrayingCapacity;

}

public void setCarrayingCapacity(int carrayingCapacity) {

this.carrayingCapacity = carrayingCapacity;

}

}

貨車:

package com.carcrental;


public class Truck extends Car{

private int carryingCapacity;

public Truck(int carNumber,String carName,int carPrice,int carryingCapacity){

super(carNumber,carName,carPrice);

/*this.setCarNumber(carNumber);

this.setCarName(carName);

this.setCarPrice(carPrice);*/

this.carryingCapacity=carryingCapacity;

}

public int getCarryingCapacity() {

return carryingCapacity;

}

public void setCarryingCapacity(int carryingCapacity) {

this.carryingCapacity = carryingCapacity;

}

}


正在回答

10 回答

是Java語言寫的吧,果然是很長。

phper表示看不了這么臃腫的代碼。精簡為此代碼的1/4,應該不是難事。

0 回復 有任何疑惑可以回復我~

贊,寫了個這么長的代碼,可以借鑒借鑒


1 回復 有任何疑惑可以回復我~

感謝樓主

0 回復 有任何疑惑可以回復我~

非常感謝


0 回復 有任何疑惑可以回復我~

我怎么看了一遍視頻到現在還是編不出這樣的diamante


0 回復 有任何疑惑可以回復我~

非常感謝樓主分享學習的代碼

0 回復 有任何疑惑可以回復我~

我寫不出來 謝謝樓主發出來參考

0 回復 有任何疑惑可以回復我~

這種基礎練習代碼有什么可改進的,真正的實際開發不會出現這樣的代碼,我在公司看了一天的代碼,早看吐了,沒心情再看你這么長的代碼。。。

0 回復 有任何疑惑可以回復我~

要我們看什么?是有bug嗎?

0 回復 有任何疑惑可以回復我~
#1

Chosan1 提問者

看不看改進的地方曬
2016-08-10 回復 有任何疑惑可以回復我~

贊一個

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

自寫的代碼,請大神們多多指教

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號