JAVA IO练习
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练习的更多相关文章
- java.IO输入输出流:过滤流:buffer流和data流
java.io使用了适配器模式装饰模式等设计模式来解决字符流的套接和输入输出问题. 字节流只能一次处理一个字节,为了更方便的操作数据,便加入了套接流. 问题引入:缓冲流为什么比普通的文件字节流效率高? ...
- Java:IO流与文件基础
Java:IO流与文件基础 说明: 本章内容将会持续更新,大家可以关注一下并给我提供建议,谢谢啦. 走进流 什么是流 流:从源到目的地的字节的有序序列. 在Java中,可以从其中读取一个字节序列的对象 ...
- Java IO之字符流和文件
前面的博文介绍了字节流,那字符流又是什么流?从字面意思上看,字节流是面向字节的流,字符流是针对unicode编码的字符流,字符的单位一般比字节大,字节可以处理任何数据类型,通常在处理文本文件内容时,字 ...
- java Io流向指定文件输入内容
package com.hp.io; import java.io.*; public class BufferedWriterTest{ public static void main(String ...
- java Io文件输入输出流 复制文件
package com.hp.io; import java.io.FileInputStream; import java.io.FileNotFoundException; import java ...
- java Io流更新文件内容
package com.hp.io; import java.io.FileOutputStream; import java.io.IOException; public class FileOut ...
- java IO流详解
流的概念和作用 学习Java IO,不得不提到的就是JavaIO流. 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
- java.io.NotSerializableException: test.io.file.Student
java.io.NotSerializableException: test.io.file.Student at java.io.ObjectOutputStream.writeObject0 ...
- java.io.IOException: mark/reset not supported
java.io.IOException: mark/reset not supported at java.io.InputStream.reset(InputStream.java:348) at ...
- Java IO流学习总结
Java流操作有关的类或接口: Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输 ...
随机推荐
- sqlserver日期函数大全
一,统计语句 1, - 统计当前[>当天00点以后的数据] SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT ...
- SQLServer之数据类型解析
数字 int.bigint.smallint 和 tinyint 使用整数数据的精确数字数据类型. 数据类型 范围 存储 tinyint 0 到 255. 1 字节 smallint -2^15 (- ...
- Spring注解定时器使用
一.首先要配置我们的spring-service.xml 1.xmlns 多加下面的内容 xmlns:task="http://www.springframework.org/schema/ ...
- Python爬虫 selenium
库的安装 pip3 install selenium 声明浏览器对象 from selenium import webdriver browser = webdriver.Chrome() brows ...
- RPC是什么?
初学微服务,一点会问RPC是什么,通常网上的资料会说,是一种协议,然后说得很复杂,一堆概念,拜托,我只是想知道RPC是什么,而不是 怎么实现怎么做. RPC就是想实现函数调用模式的网络化,A服务(微 ...
- Linux之指令 重定向 文件覆盖>和文件追加>>
指令>和>>区别 指令 > : 如果文件存在,将原来文件的内容覆盖:原文件不存在则创建文件,再添加信息. 指令 >>:不会覆盖原文件内容,将内容追加到文件的尾部. ...
- android glide图片加载框架
项目地址: https://github.com/bumptech/glide Glide作为安卓开发常用的图片加载库,有许多实用而且强大的功能,那么,今天就来总结一番,这次把比较常见的都写出来,但并 ...
- rtsp 流媒体服务器,播放器
https://github.com/EasyDSS/EasyPlayer-RTSP-Android EasyPlayer EasyPlayer RTSP Android 播放器是由紫鲸团队开发和维护 ...
- springboot在eclipse中运行使用开发配置,打包后运行使用生产环境默认配置
java命令运行springboot jar文件,指定配置文件可使用如下两个参数中其中一个 --spring.config.location=配置文件路径 -Dspring.profiles.acti ...
- springBoot集成redisCluster
本文主要内容:springBoot简介,在SpringBoot中如何集成Redis,可配置Redis集群. 关于SpringBoot 你想要的,这里都有:https://spring.io/proje ...