索鸟网

  1. 首页
  2. Java入门第二季答答租车系统

Java入门第二季答答租车系统


受到其他网友的启发用了数组,直接粗暴,但是,惭愧没有用到继承、多态(看得懂,还不会用),等有时间再来构思。
先定义一个类

package com.imooc;

public class Rent {
    int number;
    String name;
    int rent;
    int room1;
    int room2;
    double room3;
    //构造方法

    public Rent(int number,String name,int rent,int room1) {
        this.number = number;
        this.name = name;
        this.rent = rent;
        this.room1 = room1;
        System.out.println(number+"."+name+rent+"元/天"+"载人:"+room1+"人");
    }//只载人
    public Rent(int number,String name,int rent,int room1,int room2) {
        this.number = number;
        this.name = name;
        this.rent = rent;
        this.room1 = room1;
        this.room2 = room2;
        System.out.println(number+"."+name+rent+"元/天"+"载人:"+room1+"人"+"载货:"+ room2 +"吨");
    }//载人载货
    public Rent(int number,String name,int rent,double room3) {
        this.number = number;
        this.name = name;
        this.rent = rent;
        this.room3 = room3;
        System.out.println(number+"."+name+rent+"元/天"+"载货:"+ room3 +"吨");
    }//只载货

}

然后就是测试类

package com.imooc;
import java.util.Scanner;
import java.util.Arrays;//有用到相应方法先导入相应的包

public class Test {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("欢迎使用答答租车系统:");
        System.out.println("您是否要租车:1是  0否");
        int a =scan.nextInt();
        if (a == 1) {//注意区分a=1 和a==1!
            System.out.println("您可租车的类型及其价目表:");
            System.out.println("序号    汽车名称  租金            容量");
            Rent obj1 = new Rent(1,"  奥迪A4 ",500,4);
            Rent obj2 = new Rent(2,"  马自达6 ",400,4);
            Rent obj3 = new Rent(3,"  皮卡雪6 ",450,4,2);
            Rent obj4 = new Rent(4,"  金龙       ",800,20);
            Rent obj5 = new Rent(5,"  松花江     ",400,4.0);
            Rent obj6 = new Rent(6,"  依维河    ",1000,20.0);//用初始化构造方法的方式输出租车类型及价目表
            String [] car12 = {"奥迪A4","马自达6"};
            String [] car56 = {"松花江","依维河"};
            String [] car34 = {"皮卡雪6","金龙"};//定义车名数组,车3较特殊,则切成12,34,56
            int [] priceMan12 = {500,400};
            int [] priceMan34 = {450,800};//前四辆载人,定义载人价格数组,切成12,34
            int [] priceGood56 = {400,1000};
            int [] priceGood3 = {450};//第3辆和后两辆载货,定义载货价格数组,切成3,56
            int [] man12 = {4,4};
            int [] man34 = {4,20};//定义载人数数组,切成12,34
            int [] good56 = {4,20};
            int [] good3 = {2};//定义载货数数组,切成3,56
            System.out.println("请输入您要租汽车的数量:");
            int b = scan.nextInt();
            int i = 0;//控制输出到控制台的语句:请输入第"+i+"辆车的序号:
            int j = 0;//控制账单车名显示数组的下标
            int sumPriceMan = 0;//计算载人车总价钱
            int sumPriceGood = 0;//计算载货车总价钱
            int sumMan = 0;//计算载人总数
            int sumGood = 0;//计算载货总数
            String [] carManZ = new String[6];
            String [] carGoodZ = new String[6];//定义两个账单车名显示数组
            while (i<b) {//用循环来为账单车名显示数组赋值,计算总价,总载人数,总载货量
                i++;
                System.out.println("请输入第"+i+"辆车的序号:");
                int p = scan.nextInt();
                switch (p) {
                case 1:
                case 2:
                //case 3:
                //case 4:
                    carManZ[j] = car12[p-1];
                    int man1 = man12 [p-1];
                    int priceMan1 = priceMan12 [p-1];
                    sumMan += man1;
                    sumPriceMan += priceMan1; 
                    break;
                //case 3:
                case 5:
                case 6:
                    carGoodZ[j] = car56 [p-5];
                    int good1 = good56 [p-5];
                    int priceGood1 = priceGood56 [p-5];
                    sumGood += good1;
                    sumPriceGood += priceGood1;
                    break;
                case 3:
                    carManZ[j] = car34 [0];
                    carGoodZ[j] = car34 [0];
                    man1 = man34 [0];
                    good1 = good3 [0];
                    priceGood1 = priceGood3 [0];
                    sumPriceGood += priceGood1;//姑且把车3的价格累加在计算载货车总价钱的变量上
                    sumMan += man1;
                    sumGood += good1;
                    break;
                case 4 :
                    carManZ[j] = car34 [1];
                    man1 = man34 [1];
                    priceMan1 = priceMan34 [1];
                    sumMan += man1;
                    sumPriceMan += priceMan1; 
                    break;

                }
                j++;
            }
            String cheMan = Arrays.toString(carManZ);
            String cheGood = Arrays.toString(carGoodZ);//用Arrays.toString(数组名)来输出字符串数组
            System.out.println("请输入租车天数:");
            int tian = scan.nextInt();
            int sumPrice =(sumPriceGood+sumPriceMan)*tian;

            System.out.println("您的账单:");
            System.out.println("***可载人的车有:");
            System.out.println(cheMan+"共载人:"+sumMan+"人");
            System.out.println("***载货的车有:");
            System.out.println(cheGood+"共载货:"+sumGood+"吨");
            System.out.println("***租车总价格:"+sumPrice+"元");
        }

    }

}

欢迎使用答答租车系统:
您是否要租车:1是 0否
1
您可租车的类型及其价目表:
序号 汽车名称 租金 容量

  1. 奥迪A4 500元/天载人:4人
  2. 马自达6 400元/天载人:4人
  3. 皮卡雪6 450元/天载人:4人载货:2吨
  4. 金龙 800元/天载人:20人
  5. 松花江 400元/天载货:4.0吨
  6. 依维河 1000元/天载货:20.0吨
    请输入您要租汽车的数量:
    3
    请输入第1辆车的序号:
    3
    请输入第2辆车的序号:
    2
    请输入第3辆车的序号:
    6
    请输入租车天数:
    2
    您的账单:
    可载人的车有:
    [皮卡雪6, 马自达6, null, null, null, null]共载人:8人
    载货的车有:
    [皮卡雪6, null, 依维河, null, null, null]共载货:22吨
    ***租车总价格:3700元
相关标签: JAVA

来源地址:http://www.imooc.com/article/19341 版权归作者所有!

相关教程

  • Java入门第二季--答答租车系统

    弄了好久,也参考了很多前辈的代码.最后终于做出属于自己的代码了 这里用到了第三季的try...catch语句,以防客人乱输入 萌新初次交作业,希望前辈们指点指点 1.首先是创建abstract父类 public abstract class Car { int id; String name; int price; int people
  • Java入门第二季 答答租车系统

    借鉴了几位大神的 Car类 package cn.liu.kf; public class Car { private int price; private String name; private int id; public int getId() { return id; } public void setId(int id) {
  • JAVA入门第二季——答答租车系统

    这个小程序其实写了很多天,倒不是因为它特别难,而是因为自己学得太快,前面一二季的知识掌握得快,但运用起来容易忘掉当中的小细节,所以有时候程序报错会感到迷惑。同时这个程序参考了许多其他幕友写的程序,尤其是适合小白看系列,通俗易懂,那么在这个基础上我也写出一个比较通俗易懂的程序,让后面学习的幕友能够尽量明白,我也会尽量加入更多的注释以解惑关键的难点。 首先先创建一个Car类
  • JAVA入门第二季答答租车系统

    父类 package com.imooc; public abstract class Car { int xuhao; String name; int price; int zairen; int zaihuo; public abstract void chengren(); public abstract void chenghuo(); } 子类 packag
  • JAVA入门第二季--答答租车系统

    /* * 需求:答答租车系统 * 功能:实现客户自主选择所租车辆数量、类型及租车天数,系统返回详细账单,包括可载人、载货的车型名称、总载量及总费用。 *作者:奋斗的小龟龟 * 注:新手程序,如有建议,欢迎交流 * */ package com.rentcar; import java.util.Scanner; public class Rentcar
  • java入门第二季-答答租车系统

    新手入门,请各位同学和大神们多多指导。 目前只使用到了继承,多态,对于main中的数组这块研究了一晚上,还有点模糊。期间参考了几位同学的写的代码,自己总结了下,代码如下; 父类car public class Car {//客车涉及的参数 名称 价格 载人数 载货数 public String name; public double price;
  • Java入门第二季 答答租车系统

    父类:Car package com.hxf; public class Car { public String carname;//车类 public double price;//单价价格 public int time;//租车时间 public int num;//车剩余多少量 public int cainum;//载客量 public do
  • Java入门第二季——答答租车系统

    创建Car父类,PassengerCar、Pickup、Truck子类 父类Car: package com.imooc.exercise; //Car汽车类,父类 public class Car { //描述汽车的特征 private String name;//车的名称 private int space;//载客数量 priva