zoukankan      html  css  js  c++  java
  • 初学者:简单的租车程序(敲了一晚)(想大神看看,为啥我一个简单的程序要敲这么多,可以怎么改进?)

    /**
    * 创建一个接口实现租凭方法
    *
    */
    package com.lxl.car;

    public interface Rent {
    void rent(int day,int num);
    }

    /**
    * 定义一个抽象的汽车类 属性:颜色,型号 ,租车的价格
    *
    */
    package com.lxl.car;

    public abstract class Car implements Rent{
    //构造方法
    public Car(){}
    private String size;// 型号
    private String color;// 颜色
    private int price;// 租车的价格
    /**
    * @param size the size to set
    */
    public void setSize(String size) {
    this.size = size;
    }
    /**
    * @return the size
    */
    public String getSize() {
    return size;
    }
    /**
    * @param color the color to set
    */
    public void setColor(String color) {
    this.color = color;
    }
    /**
    * @return the color
    */
    public String getColor() {
    return color;
    }
    /**
    * @param price the price to set
    */
    public void setPrice(int price) {
    this.price = price;
    }
    /**
    * @return the price
    */
    public int getPrice() {
    return price;
    }
    public void rent(int day,int num){
    System.out.println(day*num*price);
    }
    }

    /**
    * 创建一个载货汽车类,继承车类
    *
    */
    package com.lxl.car;

    public class FreightCar extends Car {

    }

    /**
    * 创建一个载人汽车类,继承车类
    *
    */
    package com.lxl.car;

    public class MannedCar extends Car{

    }

    /**
    * 创建一个载人载货两用汽车类,继承车类
    *
    */
    package com.lxl.car;

    public class BothCar extends Car{

    }

    /**
    *本程序的主要功能是:
    * 模拟一个用户租车的业务流程,程序启动时,需显示出欢迎页面欢迎用户,并显示出各种车型的价格,
    * 并在控制台接收用户的输入,让用户一步步选择要租用的车子类型,颜色,型号,租用的天数,租用的数量,
    * 最后显示出用户的租用信息(车子类型,颜色,型号,租用的天数,租用的数量,租用时间),
    * 计算并显示出此次租用的费用。
    */
    package com.lxl.car;

    import java.util.Scanner;

    public class CarTest {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    //创建输入流对象
    System.out.println("----------欢迎进入娶妻生子租车系统------------");
    System.out.println("以下是我们系统所支持的车型及其租凭的详细价格");
    Scanner sc = new Scanner(System.in);
    //创建载人汽车对象mcsmall为小型
    MannedCar mcsmall = new MannedCar();
    mcsmall.setSize("1.小型:");
    mcsmall.setPrice(300);
    //创建载货汽车对象fcsmall为小型
    FreightCar fcsmall= new FreightCar();
    fcsmall.setSize("1.小型:");
    fcsmall.setPrice(400);
    //创建两用汽车对象bcsmall为小型
    BothCar bcsmall= new BothCar();
    bcsmall.setSize("1.小型:");
    bcsmall.setPrice(600);
    //创建载人汽车对象为中型
    MannedCar mcmiddle = new MannedCar();
    mcmiddle.setSize("2.中型:");
    mcmiddle.setPrice(400);
    //创建载货汽车对象为中型
    FreightCar fcmiddle = new FreightCar();
    fcmiddle.setSize("2.中型:");
    fcmiddle.setPrice(500);
    //创建两用汽车对象为中型
    BothCar bcmiddle= new BothCar();
    bcmiddle.setSize("2.中型:");
    bcmiddle.setPrice(700);
    //创建载人汽车对象为大型
    MannedCar mcbig = new MannedCar();
    mcbig.setSize("3.大型:");
    mcbig.setPrice(500);
    //创建载货汽车对象为大型
    FreightCar fcbig = new FreightCar();
    fcbig.setSize("3.大型:");
    fcbig.setPrice(600);
    //创建两用汽车对象为大型
    BothCar bcbig= new BothCar();
    bcbig.setSize("3.大型:");
    bcbig.setPrice(800);
    //设定颜色
    mcbig.setColor("1.黑色");
    fcbig.setColor("2.红色");
    bcbig.setColor("3.蓝色");
    //输出所有的汽车类型和其价格
    System.out.print("1.载人汽车:"+"("+mcsmall.getSize()+mcsmall.getPrice()+" ");
    System.out.print(mcmiddle.getSize()+mcmiddle.getPrice()+" ");
    System.out.println(mcbig.getSize()+mcbig.getPrice()+")");
    System.out.print("2.载货汽车:"+"("+fcsmall.getSize()+fcsmall.getPrice()+" ");
    System.out.print(fcmiddle.getSize()+fcmiddle.getPrice()+" ");
    System.out.println(fcbig.getSize()+fcbig.getPrice()+")");
    System.out.print("3.两用汽车:"+"("+bcsmall.getSize()+bcsmall.getPrice()+" ");
    System.out.print(bcmiddle.getSize()+bcmiddle.getPrice()+" ");
    System.out.println(bcbig.getSize()+bcbig.getPrice()+")");
    System.out.println("汽车的颜色:"+mcbig.getColor()+" "+fcbig.getColor()+" "+bcbig.getColor());
    //客户选择操作
    boolean a = true;
    int t = 0;
    int s = 0;
    while(a){
    a = false;
    System.out.println("请按1、2、3选择租用汽车的类型。");
    t = sc.nextInt();
    if (t == 1){
    System.out.println("你选择是载人汽车");

    }else if(t == 2){
    System.out.println("你选择是载货汽车");
    }else if(t == 3){
    System.out.println("你选择是两用汽车");
    }else{
    System.out.println("你输入的数据有误,请重新输入:");
    a = true;
    }
    }
    a = true;
    while(a){
    a = false;
    System.out.println("请按1、2、3选择租用汽车的大小。");
    s = sc.nextInt();
    if (s == 1){
    System.out.println("你选择是小型");
    }else if(s == 2){
    System.out.println("你选择是中型");
    }else if(s == 3){
    System.out.println("你选择是大型");
    }else{
    System.out.println("你输入的数据有误,请重新输入:");
    a = true;
    }
    }
    a = true;
    while(a){
    a = false;
    System.out.println("请按1、2、3选择租用汽车的颜色。");
    int c = sc.nextInt();
    if (c == 1){
    System.out.println("你选择是黑色");
    }else if(c == 2){
    System.out.println("你选择是红色");
    }else if(c == 3){
    System.out.println("你选择是蓝色");
    }else{
    System.out.println("你输入的数据有误,请重新输入:");
    a = true;
    }
    }
    System.out.println("请输入你要租的天数");
    int day = sc.nextInt();
    System.out.println("请输入你要租车的数量");
    int num = sc.nextInt();
    //根据客户选择输出费用
    if (t ==1 && s ==1){
    System.out.print("你选的是小型载人汽车,将花费:");
    mcsmall.rent(day,num);
    }
    if (t ==1 && s ==2){
    System.out.print("你选的是中型载人汽车,将花费:");
    mcmiddle.rent(day,num);
    }
    if (t ==1 && s ==3){
    System.out.print("你选的是大型载人汽车,将花费:");
    mcbig.rent(day,num);
    }
    if (t ==2 && s ==1){
    System.out.print("你选的是小型载货汽车,将花费:");
    fcsmall.rent(day,num);
    }
    if (t ==2 && s ==2){
    System.out.print("你选的是中型载货汽车,将花费:");
    mcmiddle.rent(day,num);
    }
    if (t ==2 && s ==3){
    System.out.print("你选的是大型载货汽车,将花费:");
    mcbig.rent(day,num);
    }
    if (t ==3 && s ==1){
    System.out.print("你选的是小型两用汽车,将花费:");
    bcsmall.rent(day,num);
    }
    if (t ==3 && s ==2){
    System.out.print("你选的是中型两用载人汽车,将花费:");
    bcmiddle.rent(day,num);
    }
    if (t ==3 && s ==3){
    System.out.print("你选的是中型两用载人汽车,将花费:");
    bcbig.rent(day,num);
    }
    }
    }

  • 相关阅读:
    创建image对象出现内存不足
    错误15023:当前数据库中已存在用户或角色
    看20遍还觉得很搞笑之<麦兜故事>片段之"鱼丸粗面"
    .NET中获取CPU编号及MAC地址
    清空file控件的值
    iframe 父窗口和子窗口的调用方法
    调用javascript后gif动画停止播放
    IIS上无法播放FLV视屏的问题
    黑客和小白
    (转载)innerHTML,innerTEXT,outerHTML的区别
  • 原文地址:https://www.cnblogs.com/forliver/p/5690889.html
Copyright © 2011-2022 走看看