java简单租车系统 慕课手记_Java租车系统(新手)
以前只学过C,刚看完Java两季,第一次写这么长程序,希望能和大家互相交流一下。
创建父类Car
public class Car {
String name;
int num;
double rentPrice;
public String getName() {
return name;
}
public double getRentPrice() {
return rentPrice;
}
}
创建支持载货的接口ICargoCapacity
public interface ICargoCapacity {
public double CargoCapacity();
}
创建支持载人的接口IPeopleCapacity
public interface IPeopleCapacity {
public int PeopleCapacity();
}
创建子类Audi
public class Audi extends Car implements IPeopleCapacity {
int num=1;
String name="奥迪A4";
double rentPrice=500;
public String getName() {
return name;
}
public double getRentPrice() {
return rentPrice;
}
@Override
public int PeopleCapacity() {
// TODO Auto-generated method stub
int peopleCapacity=4;
return peopleCapacity;
}
public String toString(){
return num+". "+name+" "+rentPrice+"/天 载人:"+this.PeopleCapacity()+"人";
}
}
创建子类Mazda
public class Mazda extends Car implements IPeopleCapacity {
int num=2;
String name="马自达6";
double rentPrice=400;
public String getName() {
return name;
}
public double getRentPrice() {
return rentPrice;
}
@Override
public int PeopleCapacity() {
// TODO Auto-generated method stub
int peopleCapacity=4;
return peopleCapacity;
}
public String toString(){
return num+". "+name+" "+rentPrice+"/天 载人:"+this.PeopleCapacity()+"人";
}
}
创建子类Pika
public class Pika extends Car implements IPeopleCapacity, ICargoCapacity {
int num=3;
String name="皮卡雪6";
double rentPrice=450;
public String getName() {
return name;
}
public double getRentPrice() {
return rentPrice;
}
@Override
public double CargoCapacity() {
// TODO Auto-generated method stub
double cargoCapacity=2;
return cargoCapacity;
}
@Override
public int PeopleCapacity() {
// TODO Auto-generated method stub
int peopleCapacity=4;
return peopleCapacity;
}
public String toString(){
return num+". "+name+" "+rentPrice+"/天 载人:"+this.PeopleCapacity()+"人"+"载货:"+this.CargoCapacity()+"吨";
}
}
创建子类Jinlong
public class Jinlong extends Car implements IPeopleCapacity {
int num=4;
String name="金龙";
double rentPrice=800;
public String getName() {
return name;
}
public double getRentPrice() {
return rentPrice;
}
@Override
public int PeopleCapacity() {
// TODO Auto-generated method stub
int peopleCapacity=20;
return peopleCapacity;
}
public String toString(){
return num+". "+name+" "+rentPrice+"/天 载人:"+this.PeopleCapacity()+"人";
}
}
创建子类Songhuajiang
public class Songhuajiang extends Car implements ICargoCapacity {
int num=5;
String name="松花江";
double rentPrice=400;
public String getName() {
return name;
}
public double getRentPrice() {
return rentPrice;
}
@Override
public double CargoCapacity() {
// TODO Auto-generated method stub
int cargoCapacity=4;
return cargoCapacity;
}
public String toString(){
return num+". "+name+" "+rentPrice+"/天 载货:"+this.CargoCapacity()+"吨";
}
}
创建子类Yiweike
public class Yiweike extends Car implements ICargoCapacity {
int num=6;
String name="依维柯";
double rentPrice=1000;
public String getName() {
return name;
}
public double getRentPrice() {
return rentPrice;
}
@Override
public double CargoCapacity() {
// TODO Auto-generated method stub
double cargoCapacity=20;
return cargoCapacity;
}
public String toString(){
return num+". "+name+" "+rentPrice+"/天 载货:"+this.CargoCapacity()+"吨";
}
}
主程序
import java.util.Scanner;
public class Initial {
//打印租车列表
public static void Print(Car car[]){
System.out.println("您可租车的类型及价目表:\n序号 汽车名称 租金 容量");
for(int i=0;i
System.out.println(car[i].toString());
}
System.out.println("请输入您要租汽车的数量:");
}
public static void main(String[] args) {
System.out.println("欢迎使用答答租车系统:\n您是否要租车:1是 0否");
Scanner input=new Scanner(System.in);
if(input.nextInt()==1){
Car car[]={new Audi(),new Mazda(),new Pika(),new Jinlong(),new Songhuajiang(),new Yiweike()};
Print(car);
getCar(car);
}
else{
input.close();
System.out.println("退出系统");
}
}
//统计所选车的信息
public static void getCar(Car car[]){
Scanner input=new Scanner(System.in);
int totalPeople=0;
double totalCargo=0,totalPrice=0;
String peopleCar=" ",cargoCar=" ";
for(int i=1,carNums=input.nextInt();i<=carNums;i++){
System.out.println("请输入第"+i+"辆车的序号:");
int Num=input.nextInt();
//通过接口判断该车能否载人
if(car[Num-1] instanceof IPeopleCapacity){
totalPeople+=((IPeopleCapacity)car[Num-1]).PeopleCapacity();
peopleCar=peopleCar+car[Num-1].getName()+" ";
}
//通过接口判断该车能否载货
if(car[Num-1] instanceof ICargoCapacity){
totalCargo+=((ICargoCapacity)car[Num-1]).CargoCapacity();
cargoCar=cargoCar+car[Num-1].getName()+" ";
}
totalPrice+=car[Num-1].getRentPrice();
}
System.out.println("请输入租车天数:");
totalPrice*=input.nextInt();
input.close();
System.out.println("您的账单:\n***可载人的车有:\n"+peopleCar+"\t共载人:"+totalPeople+"人");
System.out.println("***载货的车有:\n"+cargoCar+"\t共载货:"+totalCargo+"吨");
System.out.println("***租车总价格:"+totalPrice+"元");
}
}
java简单租车系统 慕课手记_Java租车系统(新手)相关推荐
- java简单租车系统 慕课手记_java小项目,租车系统
这学期要学java,本以为暑假学windows程序设计的,没想到一些事情耽误了 ,只能回来再补了,因为学过c++,面向对象的三大特性什么的,c++比java难一点,所以学java感觉还比骄轻松,下面就 ...
- java简单通讯录的实现02person类_Java自定义类加载器实现不同版本的类加载
一 什么是类隔离技术 只要你 Java 代码写的足够多,就一定会出现这种情况:系统新引入了一个中间件的 jar 包,编译的时候一切正常,一运行就报错:java.lang.NoSuchMethodErr ...
- java简单通讯录的实现02person类_java实现简单控制台通讯录
通过主菜单对各级子菜单进行控制,并实现添加记录,查找记录,删除记录,修改记录,排序记录,以及退出系统功能的实现.一共六部分的功能模块. 上面的图就是每个模块具有的功能,而且还用到了正则表达式判断输入的 ...
- java获取当前系统时间毫秒_java 获取当前系统时间简写 | 学步园
本文是集合各位网友的经典,在加上我的理解,后续会不断完善. 1.java.util.Date类型转换成long类型 java.util.Date dt = new Date(); System.out ...
- java简单通讯录的实现02person类_Java中Math类的简单介绍
我想对于Math类大家一定很熟悉了,是Java提供的一个用来进行简单数学运算的工具类.对于Math类来说,常用的方法有: 加法 public static int addExact(int x, in ...
- java微博系统源码_JAVA仿微博系统(JAVA毕业设计含源码和运行教程)
前言 课设毕设源码收集已上传到github,包括:C,C#,C++,JAVA,PHP 等源码,更多源码在整理中.地址:https://github.com/52JDK/Source-Collectio ...
- java从数据库中获取当前时间_JAVA获取当前系统时间(包含时分秒)插入数据库...
网上找到好多方法,但是貌似都是不准确,当我看到这个我内牛满面 Timestamp d= new Timestamp(System.currentTimeMillis()); //获取系统时间直接转换成 ...
- java调用系统时间函数_JAVA获得当前系统时间
一. 获取当前系统时间和日期并格式化输出: import java.util.Date; import java.text.SimpleDateFormat; public class NowStri ...
- java程序设计唐大仕慕课答案_Java程序设计_中国大学MOOC(慕课)
1. Java是什么样的语言? 答:Java语言是一门用途广泛的.面向对象的语言.Java语言可以编写桌面应用.手机应用及企业应用.Java简洁优雅,易于学习. 2. 没有学过编程,能学吗? 答:本课 ...
- java在线学习系统源码_Java在线考试系统源码
今天给大家演示的是一款由jsp+mysql+ssm框架实现的学生在线考试系统,,今天这个考试系统功能比较完善,支持单选.多选.简答题型,试题可以批量导入,导入时可选择多种方式导入,比如导入到试题库,导 ...
最新文章
- 百度最近开源了分布式配置中心,名叫BRCC
- SaaS创业型企业如何打破销售瓶颈?
- INFO ipc.Client:Retrying connect to server 9000
- 理解AngularJS中的依赖注入
- LeetCode --- Validate Binary Search Tree
- 如何计算CDS view里两个时间戳之间的天数间隔
- 在html中用表单插入servlet 怎么写servlet的地址,java web中servlet、jsp、html 互相访问的路径问题。...
- mysql 去重复屈居_mysql去重复关键字distinct的用法
- sql删除快还是update快_下班回家,是骑自行车减肥快还是走路减肥快?
- windows 使用 tree 命令显示目录和文件
- java flex blazeds_使用BlazeDS实现Java和Flex通信
- 《孙子兵法战略运筹之谋攻篇》
- 【英语四六级-必背单词】高中英语单词 (E)-MP3试听与下载
- IT4IT的前世今生
- java isprime函数_翁恺老师零基础java课程函数章第一题分解质因数
- EA周报 | Libra将与支付宝微信展开竞争;Google终止中国版搜索引擎;滴滴柳青:顺风车目前不能上线是因为害怕...
- 软件测试前景怎么样?大概要学什么?
- Libp2p - IPFS 与 Polkadot :双剑合璧会有时
- 敷完面膜后要擦水乳吗_面膜敷完后要擦水乳吗 面膜使用后如何正确护肤
- cocoscreator使用说明
热门文章
- 银行家算法及其c++代码实现
- 设计模式 (二十二) 责任链模式
- mysql去除重复的数据
- 痞子衡嵌入式:如果你正在量产i.MX RT产品,不妨试试这款神器RT-Flash
- python中 os._exit() 和 sys.exit(), exit(0)的用法和区别
- webpack配置路径问题 1
- 免费下载IEEE论文的网站
- 对语音通话占用带宽的理解
- HDOJ-2602 Bone Collector [DP-01背包问题]
- Struts2 Error filterStart异常的解决方法总结