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

总算弄出来了,好多都是百度的,请大佬帮忙优化下

package com.imooc.dada;

public class Car {
    private int id;  //车辆序号
    private String name;    //车辆名字
    private int fee;    //车辆租取费用
    private int carryNums;  //车辆载客数
    private int carryCapacity;  //车辆载货量

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getFee() {
        return fee;
    }

    public void setFee(int fee) {
        this.fee = fee;
    }

    public int getCarryNums() {
        return carryNums;
    }

    public void setCarryNums(int carryNums) {
        this.carryNums = carryNums;
    }

    public int getCarryCapacity() {
        return carryCapacity;
    }

    public void setCarryCapacity(int carryCapacity) {
        this.carryCapacity = carryCapacity;
    }

    public Car(int id,String name,int fee,int carryNums,int carryCapacity){
        setId(id);
        setName(name);
        setFee(fee);
        setCarryNums(carryNums);
        setCarryCapacity(carryCapacity);
    }

    public void carry(){
        //输出车辆列表
        System.out.println(id+".\t\t"+name+"\t\t\t"+fee+"元/天\t\t\t载人:"+carryNums+"人,载货:"+carryCapacity+"吨");
    }
}



package com.imooc.dada;
import java.util.*;
public class Dada {
    public static void main(String[] args) {
      Car[] cars={  //建立车辆对象 保存为数组
              new Car(1,"奥迪A4",450,4,0),
              new Car(2,"马自达6",400,4,0),
              new Car(3,"皮卡雪6",500,4,2),
              new Car(4,"金龙",800,20,0),
              new Car(5,"松花江",400,0,4),
              new Car(6,"依维柯",1000,0,20)
      };
      //输出可租车辆列表
        System.out.println("序号\t\t汽车名称\t\t\t租金\t\t\t\t容量");
        for (Car car:cars
             ) {
            car.carry();
        }

        int totalFee = 0;   //总费用
        int totalNums = 0;  //总载客数
        int totalCarry = 0;     //总载货量
        List<String> carryNumsCars=new ArrayList<String>();     //用户选取的载客车辆数组
        List<String> carryCapacityCars=new ArrayList<String>();     //用户选取的载货车辆数组

        for (int a=0;;a++) {    //使用无限循环,用break中断
            System.out.println("请输入所需租取车辆序号:");
            Scanner scan = new Scanner(System.in);
            int i = scan.nextInt();

            int day;    //车辆租取天数
            int quantity;   //车辆租取数量
            System.out.println("请输入租取数量:");
            quantity = scan.nextInt();
            System.out.println("请输入租取天数:");
            day = scan.nextInt();
            totalCarry = totalCarry + cars[i - 1].getCarryCapacity() * quantity;
            totalFee = totalFee + cars[i - 1].getFee() * quantity * day;
            totalNums = totalNums + cars[i - 1].getCarryNums() * quantity;
            if(cars[i-1].getCarryNums()>0){
                carryNumsCars.add(cars[i-1].getName()); //若用户选取的车辆可载客,将车辆加入carryNumsCars数组
            }
            if(cars[i-1].getCarryCapacity()>0){
                carryCapacityCars.add(cars[i-1].getName()); ////若用户选取的车辆可载货,将车辆加入carryCapacityCars数组
            }
            System.out.println("是否继续租车:1是;0否");
            int b=scan.nextInt();

            while(b!=1&&b!=0){

                System.out.println("***输入错误,请重新输入***");
                System.out.println("是否继续租车:1是;0否");
                b=scan.nextInt();
            }
            if(b==0){
                break;
            }
        }
        System.out.println("本次租车总费用:"+totalFee);
        System.out.println("载客的车有:"+carryNumsCars+";总共可载客"+totalNums+"人");
        System.out.println("载货的车有:"+carryCapacityCars+";总共可载货"+totalCarry+"吨");


    }
}


提问者:奔雷手文泰来 2018-11-10 13:07

个回答

  • 一科
    2019-06-28 18:00:39

    为啥你这构造方法都不写返回值