我的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 一.自定义服务端 我们直接写一个服务端,让本机去连接 ...
随机推荐
- bzoj 3600: 没有人的算术
Description Solution 我们可以给每一个数钦定一个权值 , 这样就可以 \(O(1)\) 比较大小了. 考虑怎么确定权值: 用平衡树来维护 , 我们假设根节点管辖 \([1,2^{6 ...
- [转载]常见的移动端H5页面开发遇到的坑和解决办法
转过来,平时看看.虽然还有很多问题至今无解.比如:华为麒麟950的P8和meta打开我们的应用首页经常偶发白屏.!! 1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上很清楚,但是 ...
- readtimeout
请求头去掉content-length,未找到明确原因.
- Docker 私有registry出现的证书问题
在上一篇 最近搭建的私有registry里,参考的文章指出,在push时可能出现问题: 可能会出现无法push镜像到私有仓库的问题.这是因为我们启动的registry服务不是安全可信赖的.这是我们需要 ...
- slf4j和log4j源代码解析以及详解
备注:下面所有代码以log4j为例 包结构 slf4j-api.jar对外提供api slf4j.log4j12.jar提供适配器 log4j.jar是log4j的jar slf4j初始化 获取ILo ...
- 请整体描述Java异常体系
java把异常当做对象来处理,并定义一个基类Throwable作为所有异常的超类.在java API中已经定义了许多异常的类,这些异常分为两大类,错误Error和异常Exception.其中异常Exc ...
- Eclipse中新建Java工程的三个JRE选项区别
整理自:https://blog.csdn.net/wdjhzw/article/details/42086615 官方解释(链接) Use default JRE: When selected, t ...
- Hive可视化工具
目前市面上的Hive可视化客户端工具,大都是C/S模式的,安装使用都不是太方便,目前有一款基于WEB的可视化工具TreeSoft,通过浏览器就可以访问使用了,并且可以同时管理.维护.监控MySQL,O ...
- knockout事件绑定
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- element ui 时间控件 多个日期
前言:工作中用到 vue+element ui 的前端框架,需要使用时间控件来选择多个日期,已月日的形式,且有默认值,所以记录一下.转载请注明出处:https://www.cnblogs.com/yu ...