停车场有进场和出场的功能
1. 进场时:采用键盘录入的方式,录入汽车的品牌、颜色、车牌号。
把品牌、颜色、车牌号,以及进场时间写入car.txt文件中。

2. 出场时:键盘录入车牌号,去文件中查找该车的进场时间,并计算停车时间。

3. 30分钟内免费,过后每小时3元,超过一小时安一小时计算。

 
创建一个停车场类,用来记录汽车的 品牌,颜色,车牌号,以及 进场时间.
  /*把品牌、颜色、车牌号,以及进场时间*/
public class Tinchechang {
private String brand;
private String color;
private String num;
private String time; public Tinchechang() {
} public Tinchechang(String brand, String color, String num, String time) {
this.brand = brand;
this.color = color;
this.num = num;
this.time = time;
} @Override
public String toString() {
return "Tinchechang{" +
"brand='" + brand + '\'' +
", color='" + color + '\'' +
", num='" + num + '\'' +
", time='" + time + '\'' +
'}';
} public String getBrand() {
return brand;
} public void setBrand(String brand) {
this.brand = brand;
} public String getColor() {
return color;
} public void setColor(String color) {
this.color = color;
} public String getNum() {
return num;
} public void setNum(String num) {
this.num = num;
} public String getTime() {
return time;
} public void setTime(String time) {
this.time = time;
}
}
 import java.io.*;
import java.util.ArrayList;
import java.util.Scanner; /*
* 停车场有进场和出场的功能
1. 进场时:采用键盘录入的方式,录入汽车的品牌、颜色、车牌号。
把品牌、颜色、车牌号,以及进场时间写入car.txt文件中。 2. 出场时:键盘录入车牌号,去文件中查找该车的进场时间,并计算停车时间。 3. 30分钟内免费,过后每小时3元,超过一小时安一小时计算。
* */
public class Mainclass {
public static void main(String[] args) throws IOException {
ArrayList<Tinchechang> arrayList = new ArrayList<>(); Scanner sc = new Scanner(System.in);
for(;;){
System.out.println("请输进场还是出场,输入y or n\n输入0退出");
String inpuStr =sc.nextLine();
if (inpuStr.equals("y")){
//进场
ruChang();
}
else if (inpuStr.equals("n")){
//出场
chuChang();
}
else if(inpuStr.equals("0")){
System.exit(0);
}
else
System.out.println("输入不正确!,请重新输入"); } } private static void chuChang() throws IOException {
/*出场时:键盘录入车牌号,去文件中查找该车的进场时间,并计算停车时间。*/
ArrayList<Tinchechang> arrayList = new ArrayList<>();
File file = new File("C:\\ideaProjects\\job-code\\day09\\src\\老王的题\\car.txt");
FileReader fr = new FileReader(file);
StringBuilder sb = new StringBuilder();
int len;
char arr[] = new char[1024];
while((len=fr.read(arr))!=-1){
sb.append(arr,0,len);
}
System.out.println(sb);
// System.out
// .println("测试代码 等待删除");
//切割每一行
String[] sp1 = sb.toString().split("\r\n");
for (String line : sp1) {
String[] array = line.split(",");
Tinchechang tc = new Tinchechang(array[0],array[1],array[2],array[3]);
arrayList.add(tc);
}
//请求输入比对
System.out.println("请输入你的车牌号");
Scanner sc = new Scanner(System.in);
String inputSring = sc.nextLine();
String Time="";
String nowTime="";
/*出场时:键盘录入车牌号,去文件中查找该车的进场时间,并计算停车时间。*/
for (Tinchechang tcs : arrayList) {
if(tcs.getNum().equals(inputSring)){
nowTime=System.currentTimeMillis()+"";
Time = tcs.getTime();
}
}
long realTime = (Long.parseLong(nowTime)-Long.parseLong(Time))/1000/60;
/*30分钟内免费,过后每小时3元,超过一小时安一小时计算。*/
// System.out.println("realTime = "+realTime);
getPrice(realTime);
fr.close();
}
/*
* 计算价格
* */
private static void getPrice(long realTime) {
if(realTime<=30){
System.out.println("30分钟以内免费!,您停车了"+realTime+"分钟");
}
else if(realTime>30 && realTime <60)
{
System.out.println("30-60收费3元,您停车了"+realTime+"分钟");
}
else {
long count = realTime/60+1;
System.out.println("超过一小时每小时3元收费:"+count*3+"元,您停车了"+realTime+"分钟");
}
} private static void ruChang() throws IOException {
/* 1. 进场时:采用键盘录入的方式,录入汽车的品牌、颜色、车牌号。
把品牌、颜色、车牌号,以及进场时间写入car.txt文件中。*/
Scanner sc = new Scanner(System.in); Tinchechang tc = new Tinchechang();
System.out.println("请输入汽车的品牌");
tc.setBrand(sc.nextLine());
System.out.println("请输入汽车的颜色");
tc.setColor(sc.nextLine());
System.out.println("请输入汽车的车牌号");
tc.setNum(sc.nextLine());
//获取系统时间
long nowTime = System.currentTimeMillis();
tc.setTime(nowTime+"");
//写入文件
File file = new File("C:\\ideaProjects\\job-code\\day09\\src\\老王的题\\car.txt");
//写入
FileWriter wf = new FileWriter(file,true);
StringBuilder sb = new StringBuilder();
sb.append(tc.getBrand()).append(",").append(tc.getColor()).append(",").append(tc.getNum()).append(",").append(tc.getTime()).append("\r\n");
wf.write(sb.toString());
wf.close();
System.out.println("写入成功!");
}
}

JAVA IO练习的更多相关文章

  1. java.IO输入输出流:过滤流:buffer流和data流

    java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...

  2. Java:IO流与文件基础

    Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...

  3. Java IO之字符流和文件

    前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...

  4. java Io流向指定文件输入内容

    package com.hp.io; import java.io.*; public class BufferedWriterTest{ public static void main(String ...

  5. java Io文件输入输出流 复制文件

    package com.hp.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...

  6. java Io流更新文件内容

    package com.hp.io; import java.io.FileOutputStream; import java.io.IOException; public class FileOut ...

  7. java IO流详解

    流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

  8. java.io.NotSerializableException: test.io.file.Student

    java.io.NotSerializableException: test.io.file.Student    at java.io.ObjectOutputStream.writeObject0 ...

  9. java.io.IOException: mark/reset not supported

    java.io.IOException: mark/reset not supported at java.io.InputStream.reset(InputStream.java:348) at ...

  10. Java IO流学习总结

    Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...

随机推荐

  1. python 完整项目开发流程

    1. 安装 python    2. 安装virtualenvwrapper    3. 虚拟环境相关操作    4. 进入虚拟环境, 安装django    5. 安装编辑器    6. 安装mys ...

  2. 初步了解.net

    一..net和C#是什么关系 .net是一个程序运行的平台,它是c#,vb,F#等程序运行的平台,为这些语言提供基础类库.公共语言运行时(CLR)等相关支持. C#是支持.net的一种编程语言..ne ...

  3. 基于Angular和Spring WebFlux做个小Demo

    前言 随着Spring Boot2.0正式发布,Spring WebFlux正式来到了Spring Boot大家族里面.由于Spring WebFlux可以通过更少的线程去实现更高的并发和使用更少的硬 ...

  4. web框架。Django--

    一,DIY一个web框架 1.1什么是web框架 1.2用socket模拟B-S的服务端 1.3,浏览器端的network查看 1.4,request格式 1.5,response格式 1.6,初识w ...

  5. 日志学习系列(一)——Log4net的基础知识学习

    今天把Log4net日志记录做了封装,作为一个公共的类库.记录一下应该注意的地方.先了解一下log4net的理论知识. 参考百度百科 一.log4net是什么? log4net库是Apache log ...

  6. .NET CORE学习笔记系列(2)——依赖注入[8]: .NET Core DI框架[服务消费]

    原文:https://www.cnblogs.com/artech/p/net-core-di-08.html 包含服务注册信息的IServiceCollection对象最终被用来创建作为DI容器的I ...

  7. go笔记-限速器(limiter)

    参考: https://blog.csdn.net/wdy_yx/article/details/73849713https://www.jianshu.com/p/1ecb513f7632 http ...

  8. 在Bootstrap开发框架中使用bootstrapTable表格插件和jstree树形列表插件时候,对树列表条件和查询条件的处理

    在我Boostrap框架中,很多地方需要使用bootstrapTable表格插件和jstree树形列表插件来共同构建一个比较常见的查询界面,bootstrapTable表格插件主要用来实现数据的分页和 ...

  9. 虽然不抱希望但也愿.Net和Java之争暂得平息

    我在刚开始学编程的时候就经常来博客园,当时博客园基本是.Net的天下,从那时开始.Net和Java哪个好就一直在打,这些年没怎么看博客园了,回来发现到了今天居然还在争论,让我不由得想来分析一下这个问题 ...

  10. Python @property 方法

    考察 Student 类: class Student(object): def __init__(self, name, score): self.name = name self.score = ...