我的Java之旅——答答租车系统
今天试着写了一个新的程序,叫做“答答租车系统”,是慕课网上的一个综合练习,戳我看原题。
项目要求截图如下:

我的代码(简单粗暴版):
Vehicle.java
public class Vehicle {
String name; //车名
int rent; //租金
int seatingCapacity; //载人量
int cargoCapacity; //载货量
//构造方法,初始化变量
public Vehicle(String newName, int newRent,
int sCapacity, int cCapacity) {
name = newName;
rent = newRent;
seatingCapacity = sCapacity;
cargoCapacity = cCapacity;
}
//打印可租车的类型及其价目表
public void Display(int i) {
System.out.print(i + " " + name + " " + rent + " ");
if (seatingCapacity != 0) {
System.out.print("载人:" + seatingCapacity + "人" + " ");
}
if (cargoCapacity != 0) {
System.out.print("载货:" + cargoCapacity + "吨");
}
System.out.print("\n");
}
}
Main.java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Vehicle[] vehicles = new Vehicle[7];
vehicles[1] = new Vehicle("奥迪A4 ", 500, 4, 0);
vehicles[2] = new Vehicle("马自达6", 400, 4, 0);
vehicles[3] = new Vehicle("皮卡雪6", 450, 4, 2);
vehicles[4] = new Vehicle("金龙 ", 800, 20, 0);
vehicles[5] = new Vehicle("松花江 ", 400, 0, 4);
vehicles[6] = new Vehicle("依维柯", 1000, 0, 20);
System.out.println("欢迎使用嗒嗒租车系统!");
System.out.println("您是否需要租车?");
System.out.println("是:请输入数字1 不是:请输入数字2");
int y = 0;
if (scan.hasNextInt()) {
y = scan.nextInt();
}
//若用户输入数字1,则进入租车流程
if (y == 1) {
int i;
System.out.println("您可租车的类型及其价目表:");
System.out.println("序号" + " " + "汽车名称" + " "
+ "租金(元/天)" + " " + "容量");
for (i = 1; i <= 6; i++) {
vehicles[i].Display(i);
}
System.out.println("请输入您要租车的数量:");
int n = 0; //记录租车的总数量
if (scan.hasNextInt()) {
n = scan.nextInt();
}
int carNO = 0, rentDays = 0; //选择的车序号和租期
int rental = 0, totalPerson = 0, totalCargo = 0;//总租金、总载人数、总载货数
int[] record = {0, 0, 0, 0, 0, 0, 0}; //记录各种车的被租数量
int[] person = {0, 0, 0, 0, 0, 0, 0}; //记录所租车是否可载人
int[] cargo = {0, 0, 0, 0, 0, 0, 0}; //记录所租车是否可载货
for (i = 1; i <= n; i++) {
System.out.println("请输入您要租的第" + i + "辆车的序号");
if (scan.hasNextInt()) {
carNO = scan.nextInt();
}
rental += vehicles[carNO].rent;
record[carNO]++;
if (vehicles[carNO].seatingCapacity != 0) {
person[i] = 1;
}
if (vehicles[carNO].cargoCapacity != 0) {
cargo[i] = 1;
}
}
System.out.println("请输入租车天数:");
if (scan.hasNextInt()) {
rentDays = scan.nextInt();
}
rental *= rentDays;
System.out.println("************************************");
System.out.print("\n");
System.out.println("您本次租车的账单如下:");
System.out.print("\n");
System.out.println("******你本次共租车" + n + "辆:");
System.out.print("\n");
System.out.println("汽车名字 出租数量");
for (i = 1; i < 7; i++) {
if (record[i] != 0) {
System.out.println(vehicles[i].name + " " + record[i]);
}
}
System.out.print("\n");
System.out.println("*****可载人的有:");
System.out.print("\n");
for (i = 1; i < 7; i++) {
if (person[i] != 0) {
System.out.print(vehicles[i].name + " ");
totalPerson += vehicles[i].seatingCapacity;
}
}
System.out.print("\n");
System.out.println("共可载人:" + totalPerson + "人");
System.out.print("\n");
System.out.println("*****可载货的有:");
System.out.print("\n");
for (i = 1; i < 7; i++) {
if (cargo[i] != 0) {
System.out.print(vehicles[i].name + " ");
totalCargo += vehicles[i].cargoCapacity;
}
}
System.out.print("\n");
System.out.println("共可载货:" + totalCargo + "吨");
System.out.print("\n");
System.out.println("*****租车总价格:" + rental + "元");
System.out.print("\n");
System.out.println("************************************");
}
}
}
控制台运行结果:

我的Java之旅——答答租车系统的更多相关文章
- 我的Java之旅——答答租车系统的改进
之前的答答租车系统虽然可以实现项目的要求,但是没有用Java面向对象,今天用面向对象的三大特性封装.继承和多态来改进原来的代码.题目和之前的代码参考上篇博客,这里不再述说. 改进后的代码: Vehic ...
- Java练习 SDUT-3349_答答租车系统(面向对象综合练习)
答答租车系统(面向对象综合练习) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 各位面向对象的小伙伴们,在学习了面向对 ...
- [代码审计]某租车系统JAVA代码审计[前台sql注入]
0x00 前言 艰难徘徊这么久,终于迈出第一步,畏畏缩缩是阻碍大多数人前进的绊脚石,共勉. 系统是租车系统,这个系统是Adog师傅之前发在freebuf(http://www.freebuf.com/ ...
- Java学习笔记三十:Java小项目之租车系统
Java小项目之租车系统 一:项目背景介绍: 根据所学知识,编写一个控制台版的“呱呱租车系统” 功能: 1.展示所有可租车辆: 2.选择车型.租车量: 3.展示租车清单,包含:总金额.总载货量以及其车 ...
- 基于JSP+Servlet开发在线租车系统 java 源码
运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以.IDE环境: Eclipse,Myeclipse,IDEA都可以tomcat环境: Tomcat 7.x,8. ...
- java学习之租车系统
背景:有三种类型的车供给用户来租用 要求:控制台用户交互界面,根据用户需求输出租车价格,结果如下: 创建租车类主要设计过程: 创建租车类 创建Car父类,包含四种属性成员,重写构造方法 创建三种 ...
- Java学习笔记(四)——好记性不如烂键盘(答答租车)
根据所学知识,编写一个控制台版的租车系统. 功能: 1. 展示所有可租车辆 2. 选择车型.租车辆 3. 展示租车清单,包含:总金额.总载货量及其车型.总载人量及其车型 代码参考imooc中Java课 ...
- JAVA之旅(三十五)——完结篇,终于把JAVA写完了,真感概呐!
JAVA之旅(三十五)--完结篇,终于把JAVA写完了,真感概呐! 这篇博文只是用来水经验的,写这个系列是因为我自己的java本身也不是特别好,所以重温了一下,但是手比较痒于是就写出了这三十多篇博客了 ...
- JAVA之旅(三十四)——自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫
JAVA之旅(三十四)--自定义服务端,URLConnection,正则表达式特点,匹配,切割,替换,获取,网页爬虫 我们接着来说网络编程,TCP 一.自定义服务端 我们直接写一个服务端,让本机去连接 ...
随机推荐
- ZOJ 1203 Swordfish(Prim算法求解MST)
题目: There exists a world within our world A world beneath what we call cyberspace. A world protected ...
- java开学考试感想及代码
上周四我们的第一节java课,王老师给我们进行啦开学考试,这也是上学期放假之前给我们约定好的 但是情况显然没有我想的那么好,其实我觉得这个atm系统比上届学生信息管理系统难的多,上届的话毕竟有小学期的 ...
- spring定时任务(@Scheduled注解)
(一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.org/schema/task" http://www.spr ...
- Unity3d嵌入web网页
应用场景 程序中的界面风格 UI内容等相关内容需要很容易方便的跟新替换,不使用unity传统的热加载方式,也不想使用和H5等做混合APP的时候, 就用嵌入web来实现. 假如我想替换某个背景图,一般来 ...
- select SCOPE_IDENTITY()用法
select SCOPE_IDENTITY() 返回上面操作的数据表最后row的IDENTITY 列的值: 返回插入到同一作用域中的 IDENTITY 列内的最后一个 IDENTITY 值.一个作用域 ...
- windows10下mysql8.0.11忘记密码的解决办法
首先输入 新开一个cmd窗口,登录mysql,刷新权限表 FLUSH PRIVILEGES; 经过我再次修改密码测试,只用下面这条语句就可以了 ALTER USER 'root'@'localhost ...
- 不要在对抽象类接口abstract virtual什么的混淆不清了
(最近带一个新手入门 讲这边老费力了.) 接口和抽象类不过都是类的抽象罢了,这是他们的本质,只不过人们的思维角度不同而已,一个偏向为行为契约上的抽象(接口) 一个更像大自然中的繁衍关系(抽象类). 直 ...
- Javascript全选,反选,全不选的实现代码
使用js实现全选.反选.全不选. 代码如下: <html> <head> <script type="text/javascript"> fun ...
- 填报表导出excel非可写单元格锁定问题
问题描述: 填报表单元格分为可写和不可写两种状态,当填报表在web上展现的时候可写单元格可以进行数据填报和修改,非可写单元格不可操作. 报表导出为excel时,润乾导出excel包默认情况下不对 ...
- canvas验证码 - 随机字母数字
基于canvas制作随机生成数字英文组合验证码效果,点击或刷新会自动重组.输入验证码提交验证效果代码. <div class="verification"> <i ...