租车系统java大致框架_Java实现答答租车系统
本文实例为大家分享了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实现答答租车系统相关推荐
- java 分布式计算框架_java分布式系统框架的分类
鲁班学院java架构师成长路线 随着电商行业的崛起,越来越多的人为了省事更习惯网购,今天我们就来熟悉Java分布式系统中的Dubbo,Dubbo就是来解决Java分布式系统中间的子系统之间相互调用相互 ...
- php源码 拼车网顺风车_基于ThinkPHP框架开发的在线微信拼车系统完整PHP源码+支付微信支付...
源码介绍 基于ThinkPHP框架开发的在线微信拼车系统主要是基于微信的在线拼车系统,也是一款不错的微信号管理系统,该微信拼车系统主要是基于ThinkPHP3.2.3框架开发,主要功能有发布租车信息. ...
- java权限框架_Java高级工程师必备技术栈-由浅入深掌握Shiro权限框架
权限系统在任何一个系统中都存在,随着分布式系统的大行其道,权限系统也趋向服务化,对于一个高级工程师来说,权限系统的设计是必不可少需要掌握的技术栈 Apache Shiro™是一个功能强大且易于使用的J ...
- java 媒体框架_Java 媒体框架 之 JMF
如果想要使用Java中的Swing播放音乐,视频,包括录音,截取录像等等,就要用到Java的媒体框架JMF. Java媒体框架(JMF)使你能够编写出功能强大的多媒体程序,却不用关心底层复杂的实现细节 ...
- java 超卖_Java生鲜电商平台-秒杀系统如何防止超买与超卖?(小程序/APP)
本文主要是通过实际代码讲解,帮助你一步步搭建一个简易的秒杀系统.从而快速的了解生鲜电商秒杀系统的主要难点,并且迅速上手实际项目. 我对生鲜电商秒杀系统文章的规划: 从零开始打造简易秒杀系统:乐观锁防止 ...
- java 简单 框架_java简单框架设计
设计框架包可以作为一个工具给大家用,需要有完全不同设计思路给出来,不同于我们去做一个web服务.网站. 或者一个业务微服务,需要从原来使用视角转换成一个构建者视角. 框架或者工具,更多是框架来管理或者 ...
- 签到考勤java课设_Java程序设计课程设计学生考勤系统Word版
<Java程序设计课程设计学生考勤系统Word版>由会员分享,可在线阅读,更多相关<Java程序设计课程设计学生考勤系统Word版(6页珍藏版)>请在人人文库网上搜索. 1.传 ...
- 匹配系统Java开发,基于RFID的机场行李快速匹配系统的设计(Java,MySQL)
基于RFID的机场行李快速匹配系统的设计(JAVA,MySQL)(论文11400字,程序代码,MySQL数据库) 摘要:机场设备的智能化体现了我国在航空领域的水平.现代技术的快速发展也为机场行李匹配的 ...
- 业务流程审批系统java源码_java毕业设计_springboot框架的基于企业流程审批系统...
今天介绍一个java毕设题目, 题目内容为springboot框架的基于企业流程审批系统, 是一个采用b/s结构的javaweb项目, 采用java语言编写开发工具eclipse, 项目框架jsp+s ...
最新文章
- ibatis中如何调用出参为游标的存储过程
- js 乘法除法精度问题
- 关节点(atriculation point)算法
- 基于DBus的进程间通信(IPC)
- 郁闷,IT厂商认证考试没有通过!
- ASP.NET中的回调技术(CallBack)
- 连范例都不跑,大哥你怎么知道你的代码正确?
- Springboot之QueryDSL增强JPA操作
- kotlin list转map
- 在Adobe Premiere Pro for Mac上使用合并剪辑同步音频和视频
- Linux link命令
- [Learn Android Studio 汉化教程]Reminders实验:第一部分(续)
- FNL资料的变量说明
- 毕业论文知网查重之应对办法
- 2021年上半年软件设计师考试评估解析
- 胡喜:从 BASIC 到 basic ,蚂蚁金服技术要解决两个基本的计算问题
- 万万没想到:用理工科思维理解世界
- 2019年5G创新深度研究报告
- 关于更新Windows11后eNSP路由器启动不了一直报“‘错误代码:40”的问题
- 记7月份Android面试感想