问答详情
源自:12-1 综合练习

可以了,交作业

package com;

import java.util.ArrayList;

import java.util.List;

import java.util.Scanner;

public class HelloWorld {

static Scanner sc = new Scanner(System.in);

static List<Car> clist = new ArrayList<Car>();

static List<Car> rlist = new ArrayList<Car>();

//匿名内部类

public class Car{

 String code;//编号

 String name;//名称

 int money;//每日租金

 int passenger;//载客认人数

 int cargo;//载货吨位

 int carNum;//租车数量

 int rentNum;//租赁天数

 int total;//租金小计

 public Car(String code,String name,int money,int passenger,int cargo){

 this.code=code;

 this.name=name;

 this.money=money;

 this.passenger=passenger;

 this.cargo=cargo;

 }

 public void printInfo(){

System.out.println(this.code+"\t"+this.name+"\t"+this.money+"元 \t"+this.passenger+"\t"+this.cargo);

 }

 public void printResInfo(){

System.out.println(this.code+"\t"+this.name+"\t"+this.money+"元 \t"+this.passenger+"\t"+this.cargo+"\t"+this.carNum+"辆\t"+this.rentNum+"天\t"+this.money*this.rentNum*this.carNum+"元");

 }

}

public static void main(String[] args) {

init(new HelloWorld());//初始化车辆信息

System.out.println("==========欢迎光临哒哒租车系统==========");

showInfo();

}

//初始化车辆信息

public static void init(HelloWorld obj){

Car c1 = obj.new Car("1","宝马X1",1000,4,0);

    Car c2 = obj.new Car("2","奔驰500",1500,4,0);

    Car c3 = obj.new Car("3","东风",2000,2,10);

    Car c4 = obj.new Car("4","时风",500,2,2);

    Car c5 = obj.new Car("5","松花江",800,4,20);

    Car c6 = obj.new Car("6","金龙",6000,20,0);

    clist.add(c1); clist.add(c2); clist.add(c3);

    clist.add(c4); clist.add(c5); clist.add(c6);

}

//系统菜单

public static void rent(){

System.out.println("1-退出 \t2-查看车辆信息 \t3-租车 \t4-查看已选租车辆 \t5-重新选择");

try {

switch (sc.nextInt()) {

      case 1:

      if(rlist.size()>0){

  showRes();

  }

      System.out.println("感谢您的光临!祝您生活愉快!");

      break;

  case 2:

  showInfo();

  break;

  case 3:

  getRent();

  break;

  case 4:

  showRes();

  break;

  case 5:

  rlist.clear();

  System.out.println("选租车辆信息已经重置!请您选择接下来的操作服务编号");

  rent();

  break;

  default:

  System.out.println("您的输入有误,请输入1~5之间的整数操作服务编号");

  rent();

break;

 }

}catch (Exception e) {

System.out.println("您的输入有误,请输入1~5之间的整数操作服务编号");

rent();

}

}

//展示车辆信息

public static void showInfo(){

    System.out.println("------------可租赁的车辆信息-------------");

    System.out.println("编号\t名称\t每日租金 \t载客人数\t载货吨位");

    for(Car temp:clist){

    temp.printInfo();

    }

    System.out.println("亲,请输入您想要的操作服务编号(1~5之间的整数)");

    rent();

}

//展示已选租车辆信息

public static void showRes(){

if(rlist.size()>0){

    System.out.println("------------您已选择租赁的车辆信息-------------");

    System.out.println("编号\t名称\t每日租金 \t载客人数\t载货吨位 \t租车数量 \t租赁天数 \t租赁金额");

    //累计各项数值

    int passNum = 0;//载客总人数

    int goNum = 0;//载货总吨位

    int carNum = 0;//租车总数量

    int rentNum = 0;//租赁总天数

    double total = 0.0;//租金总额

    for(Car temp:rlist){

    temp.printResInfo();

    passNum+=temp.passenger;

    goNum+=temp.cargo;

    carNum+=temp.carNum;

    rentNum+=temp.rentNum;

    total+=temp.money*temp.rentNum*temp.carNum;

    }

    System.out.println("累计:\t载客人数:"+passNum+"人\t载货吨位:"+goNum+"吨\t租车数量:"+carNum+"辆\t租车天数:"+rentNum+"天\t租车金额:"+total+"元");

    rent();

}else{

System.out.println("您尚未选择租赁车辆!请您选择接下来的操作服务编号");

}

}

//选择租赁车辆操作

public static void getRent(){

System.out.println("请输入您想要租赁的车辆编号(1~6之间的整数),例如1代表[宝马X1]");

int code = sc.nextInt();

try {

Car temp = clist.get(code-1);

System.out.println("请输入您想要租赁 ["+temp.name+"]的数量:");

temp.carNum = sc.nextInt();

System.out.println("请输入您想要租赁["+temp.name+"]的天数:");

temp.rentNum = sc.nextInt();

rlist.add(temp);

System.out.println("["+temp.name+"]租赁完成!请您选择接下来的操作服务编号");

rent();

} catch (Exception e) {

System.out.println("输入有误,请您重新运行程序!");

}

}

}


提问者:121c 2014-12-29 10:28

个回答