问答详情
源自:12-2 项目问题解析 1

这样的问题咋解决?实在是找不出来了

http://img.mukewang.com/582ee9830001f2ab12840624.jpg

package 达达租车系统;

import java.util.Scanner;

public class Test {

public static void main(String[] args) {

// TODO 自动生成的方法存根

System.out.println("欢迎使用达达租车系统");

System.out.println("您是否要租车:1是,0否");

Scanner input1=new Scanner(System.in);

int is=input1.nextInt();

//创建一个Car1类数组来保存各种车,利用引用多态来创建不同的子类对象

Car1[] cars={new PassengerCar("奥迪A4",5,500),

new Truck("小货车",5,150),

new PassengerCar("奔驰E400",5,700),

new Pickup("皮卡",1.5,4,200),

new Truck("大型货车",10,600),

new PassengerCar("大客车",25,650)

};

//输入1,需要租车

if(is==1){

int totalMoney=0;

double totalcargoCapacity=0;

int totalbusLoad=0;

int rentCarDays=0;

System.out.println("您可租车的类型及其价目表:");

System.out.println("序号\t"+"汽车名称\t"+"日租金\t"+"容量\t");

int num=1;//定义初始序号

for(Car1 currentCar:cars){//对所有车进行一次循环遍历,即foreach(),来创建一个汽车一览表

if(currentCar instanceof PassengerCar){//判断正在遍历的car是否是PassengerCar类的一个实例值

System.out.println(

"No."+num+'\t'+currentCar.getName()+'\t'//封装后只能通过get()方法来获取

+currentCar.getDailyRent()+"元/天\t"

+"载人:"+currentCar.getBusLoad()+"人");

num++;

}

if(currentCar instanceof Truck){//判断正在遍历的car是否是Truck类的一个实例

System.out.println(

"No."+num+'\t'+currentCar.getName()+'\t'

+currentCar.getDailyRent()+"元/天\t"

+"载货:"+currentCar.getCargoCapacity()+"吨");

num++;

}

if(currentCar instanceof Pickup){//判断正在遍历的car是否是Pickup类的一个实例

System.out.println(

"No."+num+'\t'+currentCar.getName()+'\t'

+currentCar.getDailyRent()+"元/天\t"

+"载人:"+currentCar.getBusLoad()+"人"

+",载货:"+currentCar.getCargoCapacity()+"吨");

num++;

}

int totalDailyMoney=0;//每日租金的总和

System.out.println("请输入您的租车数量(最大租车数为6):");

Scanner input2=new Scanner(System.in);

int carRentAmount=input2.nextInt();//租出去的车数

if(carRentAmount>0&&carRentAmount<7){

int rentCarsArray[]=new int[carRentAmount];//创建一个数组,用来保存租出去的车辆,长度为租出去的车数

for(int i=1;i<=carRentAmount;i++){

System.out.println("请输入第"+i+"辆车的序号:");

Scanner input3=new Scanner(System.in);

int carNum=input3.nextInt();//输入车的序号

rentCarsArray[i-1]=carNum-1;//保存每一辆租出去的车在cars数组中的序号

totalDailyMoney+=cars[carNum-1].getDailyRent();

totalcargoCapacity+=cars[carNum-1].getCargoCapacity();

totalbusLoad+=cars[carNum-1].getBusLoad();

}

System.out.println("请输入需要租车的天数:");

Scanner input4=new Scanner(System.in);

rentCarDays=input4.nextInt();

totalMoney=totalDailyMoney*rentCarDays;

System.out.println("总载货量:"+totalcargoCapacity

+"\t总载客量:"+totalbusLoad

+"\t总价格:"+totalMoney);

System.out.println("您的账单:\n***可载人的车有:");

//载入账单

for(int i=0;i<rentCarsArray.length;i++){

if((cars[rentCarsArray[i]] instanceof PassengerCar)||(cars[rentCarsArray[i]] instanceof Pickup)){

System.out.println(cars[rentCarsArray[i]].getName());

}

}

System.out.println("------共载人:"+totalbusLoad+"人");

//载货账单

System.out.println("***可载货的车有:");

for(int i=0;i<rentCarsArray.length;i++){

if((cars[rentCarsArray[i]]instanceof Truck)||(cars[rentCarsArray[i]] instanceof Pickup)){

System.out.println(cars[rentCarsArray[i]].getName());

}

}

System.out.println("------共载货:"+totalcargoCapacity+"吨");

}else{

System.out.println("请修改租车数量!");

}

}else{

System.out.println("感谢您使用达达租车系统");

}

}

}


提问者:慕粉4349795 2016-11-18 19:44

个回答

  • 好多可爱的同学啊
    2016-11-18 22:32:58

    括号不匹配 点击括号 与之对应的括号会显示出来。 你这肯定是括号放错了

  • 好多可爱的同学啊
    2016-11-18 22:27:32

    看清楚括号。  编译都没通过

  • Zhao_Tenfe
    2016-11-18 22:09:01

    包名怎么还是中文的

  • 慕粉4349795
    2016-11-18 21:13:20

    加上之后,提示的是if上有语法错误

  • Traveler_03381994
    2016-11-18 20:46:16

    倒数第二个是else if,if和else是配套出现的