本文实例为大家分享了java实现答答租车系统的具体代码,供大家参考,具体内容如下

项目需求:

基本界面需求:

and:

最后是把账单打印出来:

个人代码实现

基本思路:考虑到车辆之间的共性,设置一个父类car, 子类mannedcar(载人), truck(载货),bothcary(既载人又载货),三者继承父类car的price, name属性, getname()方法, 同时重写getpersonnum, getgoodsnum方法。

car.java:

package car;

public abstract class car {

protected int price;

protected string name;

protected int getprice() {

return price;

}

protected string getname() {

return name;

}

public int getpersonnum() {

// todo auto-generated method stub

return 0;

}

public int getgoodsnum() {

// todo auto-generated method stub

return 0;

}

}

mannedcar.java:

package car;

public class mannedcar extends car {

private int personnum;

public mannedcar() {

this.personnum = 0;

this.price = 0;

this.name = "";

}

public mannedcar(int personnum, int price, string name) {

this.personnum = personnum;

this.price = price;

this.name = name;

}

@override

public int getpersonnum() {

return personnum;

}

}

truck.java:

package car;

public class truck extends car{

private int goodsnum;

public truck() {

this.price = 0;

this.goodsnum = 0;

this.name = "";

}

public truck(int price, int goodsnum, string name) {

this.price = price;

this.goodsnum = goodsnum;

this.name = name;

}

@override

public int getgoodsnum() {

return goodsnum;

}

}

bothcarry.java:

package car;

public class bothcarry extends car {

private int personnum;

private int goodsnum;

public bothcarry() {

this.personnum = 0;

this.goodsnum = 0;

this.name = "";

this.price = 0;

}

public bothcarry(int price, int personnum,

int goodsnum, string name) {

this.personnum = personnum;

this.goodsnum = goodsnum;

this.price = price;

this.name = name;

}

public int getpersonnum() {

return personnum;

}

public int getgoodsnum() {

return goodsnum;

}

}

系统:

carsystem.java:

package car;

import java.util.scanner;

import java.util.arraylist;

public class carsystem {

private static string goodbyeinfo = "欢迎再次使用本系统,再见!";

private static int dayborrow;

public static void beginsystem() {

carsystem.systemwelcome();

scanner scanner = new scanner(system.in);

string usercommand = scanner.next();

switch(usercommand){

case "1":

carsystem.getuserinput();

break;

case "0":

system.out.println(goodbyeinfo);

break;

default:

system.out.println("输入错误..end running..");

system.exit(0);

break;

}

}

public static void systemwelcome() {

system.out.println("欢迎使用答答租车系统:");

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

}

public static void getuserinput() {

int numcarborrow = 0;

arraylist carlist = new arraylist(6);

carlist.add(new mannedcar(4,500,"奥迪a4"));

carlist.add(new mannedcar(4,400,"马自达6"));

carlist.add(new bothcarry(450,4,2,"皮卡雪6"));

carlist.add(new mannedcar(20,800,"金龙"));

carlist.add(new truck(400,4,"松花江"));

carlist.add(new truck(1000,20,"依维河"));

system.out.println("请输入您要租汽车的数量:");

scanner sr = new scanner(system.in);

numcarborrow = sr.nextint();

int[] carnumlist = new int[numcarborrow];

for(int i=0;i

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

if (sr.hasnext()) {

carnumlist[i] = sr.nextint();

}

}

system.out.println("请输入租车天数:");

if (sr.hasnext()) {

dayborrow = sr.nextint();

}

sr.close();

stringbuilder manned = new stringbuilder();

int numofmanned = 0;

stringbuilder goods = new stringbuilder();

int numofgoods = 0;

int totalcost = 0;

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

if(carnumlist[i]>0 && carnumlist[i] < 3 || carnumlist[i]==4) {

manned.append(" ");

manned.append(carlist.get(carnumlist[i]-1).getname());

numofmanned += carlist.get(carnumlist[i]-1).getpersonnum();

}

else if(carnumlist[i]==3) {

manned.append(" ");

manned.append(carlist.get(carnumlist[i]-1).getname());

goods.append(" ");

goods.append(carlist.get(carnumlist[i]-1).getname());

numofmanned += carlist.get(carnumlist[i]-1).getpersonnum();

numofgoods += carlist.get(carnumlist[i]-1).getgoodsnum();

}

else {

goods.append(" ");

goods.append(carlist.get(carnumlist[i]-1).getname());

numofgoods += carlist.get(carnumlist[i]-1).getgoodsnum();

}

totalcost += carlist.get(carnumlist[i]-1).getprice();

}

//output

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

system.out.println(manned + " 共载人: " + numofmanned);

system.out.println("***载货的车有:\n" + goods + " 共载货 : " + numofgoods + "吨");

system.out.println("***租车总价格: " + totalcost * dayborrow + "元");

}

}

主程序:

package car;

public class carsystemtest {

public static void main(string[] args) {

// todo auto-generated method stub

carsystem.beginsystem();

}

}

运行结果:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。

希望与广大网友互动??

点此进行留言吧!

租车系统java大致框架_Java实现答答租车系统相关推荐

  1. java 分布式计算框架_java分布式系统框架的分类

    鲁班学院java架构师成长路线 随着电商行业的崛起,越来越多的人为了省事更习惯网购,今天我们就来熟悉Java分布式系统中的Dubbo,Dubbo就是来解决Java分布式系统中间的子系统之间相互调用相互 ...

  2. php源码 拼车网顺风车_基于ThinkPHP框架开发的在线微信拼车系统完整PHP源码+支付微信支付...

    源码介绍 基于ThinkPHP框架开发的在线微信拼车系统主要是基于微信的在线拼车系统,也是一款不错的微信号管理系统,该微信拼车系统主要是基于ThinkPHP3.2.3框架开发,主要功能有发布租车信息. ...

  3. java权限框架_Java高级工程师必备技术栈-由浅入深掌握Shiro权限框架

    权限系统在任何一个系统中都存在,随着分布式系统的大行其道,权限系统也趋向服务化,对于一个高级工程师来说,权限系统的设计是必不可少需要掌握的技术栈 Apache Shiro™是一个功能强大且易于使用的J ...

  4. java 媒体框架_Java 媒体框架 之 JMF

    如果想要使用Java中的Swing播放音乐,视频,包括录音,截取录像等等,就要用到Java的媒体框架JMF. Java媒体框架(JMF)使你能够编写出功能强大的多媒体程序,却不用关心底层复杂的实现细节 ...

  5. java 超卖_Java生鲜电商平台-秒杀系统如何防止超买与超卖?(小程序/APP)

    本文主要是通过实际代码讲解,帮助你一步步搭建一个简易的秒杀系统.从而快速的了解生鲜电商秒杀系统的主要难点,并且迅速上手实际项目. 我对生鲜电商秒杀系统文章的规划: 从零开始打造简易秒杀系统:乐观锁防止 ...

  6. java 简单 框架_java简单框架设计

    设计框架包可以作为一个工具给大家用,需要有完全不同设计思路给出来,不同于我们去做一个web服务.网站. 或者一个业务微服务,需要从原来使用视角转换成一个构建者视角. 框架或者工具,更多是框架来管理或者 ...

  7. 签到考勤java课设_Java程序设计课程设计学生考勤系统Word版

    <Java程序设计课程设计学生考勤系统Word版>由会员分享,可在线阅读,更多相关<Java程序设计课程设计学生考勤系统Word版(6页珍藏版)>请在人人文库网上搜索. 1.传 ...

  8. 匹配系统Java开发,基于RFID的机场行李快速匹配系统的设计(Java,MySQL)

    基于RFID的机场行李快速匹配系统的设计(JAVA,MySQL)(论文11400字,程序代码,MySQL数据库) 摘要:机场设备的智能化体现了我国在航空领域的水平.现代技术的快速发展也为机场行李匹配的 ...

  9. 业务流程审批系统java源码_java毕业设计_springboot框架的基于企业流程审批系统...

    今天介绍一个java毕设题目, 题目内容为springboot框架的基于企业流程审批系统, 是一个采用b/s结构的javaweb项目, 采用java语言编写开发工具eclipse, 项目框架jsp+s ...

最新文章

  1. ibatis中如何调用出参为游标的存储过程
  2. js 乘法除法精度问题
  3. 关节点(atriculation point)算法
  4. 基于DBus的进程间通信(IPC)
  5. 郁闷,IT厂商认证考试没有通过!
  6. ASP.NET中的回调技术(CallBack)
  7. 连范例都不跑,大哥你怎么知道你的代码正确?
  8. Springboot之QueryDSL增强JPA操作
  9. kotlin list转map
  10. 在Adobe Premiere Pro for Mac上使用合并剪辑同步音频和视频
  11. Linux link命令
  12. [Learn Android Studio 汉化教程]Reminders实验:第一部分(续)
  13. FNL资料的变量说明
  14. 毕业论文知网查重之应对办法
  15. 2021年上半年软件设计师考试评估解析
  16. 胡喜:从 BASIC 到 basic ,蚂蚁金服技术要解决两个基本的计算问题
  17. 万万没想到:用理工科思维理解世界
  18. 2019年5G创新深度研究报告
  19. 关于更新Windows11后eNSP路由器启动不了一直报“‘错误代码:40”的问题
  20. 记7月份Android面试感想

热门文章

  1. db2数据库表修改列为主键
  2. 毫秒转换成js年月日时分秒,标准时间转换js
  3. 2023东北农业大学计算机考研信息汇总
  4. ios 自定义拍照页面_iOS 自定义相机拍照,手动对焦和自动对焦
  5. linux从入门开始——Linux必备手册(Linux关键词,Linux命令总结)
  6. AE教程:纸张飘动动画
  7. 输出1-100中3的倍数
  8. 计算机专业申请phd美国,申请美国计算机PHD全奖的建议
  9. add_metrology_object_line_measure 抓线(无对齐测量模型)
  10. AutoCAD 单行文字排版