我的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 一.自定义服务端 我们直接写一个服务端,让本机去连接 ...
随机推荐
- c#socket TCP同步网络通信
一.socket简介 socket就是套接字,它是引用网络连接的特殊文件描述符,由三个基本要素组成: 1: AddressFamily(网络类型) 2: SocketType(数据传输类型) 3:Pr ...
- sql中同一个表一个字段的值赋值给另一个字段
UPDATE SG_User SET DefaultOrganizationID = OrganizationID
- 使用 RetroShare 分享资源
本文告诉大家如何使用 RetroShare 来分享资源.因为 RetroShare 是一个 p2p 分享的工具,所以他比现在很多云盘都好用,在网上,很多大神说可以用来代替电驴.之所以推荐这个软件,因为 ...
- C# 枚举转字符串
有时候需要把枚举转字符串,那么如何把枚举转字符串? 枚举转字符串 假如需要把枚举转字符串,可以直接把他进行转换,请看代码 public enum Di { /// <summary> // ...
- win10 uwp 商业游戏
本文告诉大家去做一个商业游戏,游戏很简单,几乎没有什么技术 游戏的开始,需要添加框架库,于是引用我自己写的库. 首先是创建一个启动页面,这个页面是显示启动的. 在显示启动的时候,是需要加载游戏需要使用 ...
- 中国移动CMPP协议错误码
中国移动CMPP协议错误码 状态码 说明 出现次数高 DELIVRD 消息发送成功 用户成功接收到短信 REJECTD 消息因为某些原因被拒绝不 ...
- iOS交互h5——user-agent
User-Agent(用户代理)字符串是Web浏览器用于声明自身型号版本并随HTTP请求发送给Web服务器的字符串,在Web服务器上可以获取到该字符串. 在公司产品中,在userAgent中增加了XX ...
- 资源在Windows编程中的应用
学习目的 掌握菜单和对话框资源的创建和使用. 编写程序: 设计一个窗口应用程序, 其中有一个VC菜单, 该菜单下有"显示", "隐藏", "退出&qu ...
- Go 中包导入声明
Go中的程序由软件包组成.通常,软件包依赖于其他软件包,或者内置于标准库或第三方的软件包.包需要先导入才能使用其导出的标识符.本文将翻译一篇国外的文章,用于介绍包导入的原理以及几种常用的导入方式. & ...
- marquee 滚动到文字上时停止滚动,自定义停止方法
我要实现的效果如下图:当鼠标移到续费提醒文字上时,文字滚动停止,并出现后面的关闭按钮:当鼠标移出文字时,文字继续滚动,后面的关闭按钮不显示. 在网上查到的marquee停止滚动的的代码是这样的: &l ...