【Java常用类之date类 19】
一、练习题:预定酒店
package com.JavaStudy.studyArrayTest0619; /** * @Author wufq * @Date 2020/6/19 09:58 */ public class Room { private String no;//房间编号 private String type;//房间类型:标准间、豪华间、单人间 private boolean status;//房间状态:未预定false,已预定true public void setNo(String no){ this.no = no; } public String getNo(){ return no; } public void setType(String type){ this.type = type; } public String getType(){ return type; } public void setStatus(boolean status){ this.status=status; } public boolean getStatus(){ return status; } Room(String no,String type,boolean status){ this.no = no; this.type = type; this.status = status; } //重写toString方法,输出酒店的实际信息 public String toString(){ return "{"+no+","+type+","+(status?"占用":"空闲")+"}"; } }
package com.JavaStudy.studyArrayTest0619; /** * @Author wufq * @Date 2020/6/19 09:58 * 需求:规定酒店:5层10个房间 * 1,2层是标准间 * 3,4层是豪华间 * 5层是单人间 */ public class Hotel { private Room[][] rooms; //创建酒店 public Hotel(){ //创建对象给二位数组进行赋值 rooms = new Room[5][10];//5层10个房间 for(int i=0;i<rooms.length;i++){ for(int j=0;j<rooms[i].length;j++){ if(i==0||i==1){ rooms[i][j] = new Room((i+1)*100+j+1+"","标准间",false); }else if(i==2||i==3){ rooms[i][j] = new Room((i+1)*100+j+1+"","豪华间",false); }else if(i==4){ rooms[i][j]=new Room((i+1)*100+j+1+"","单人间",false); } } } } //修改酒店的房间状态 public void updateRoomStatus(String no,boolean status){ for(int i=0;i<rooms.length;i++){ for(int j=0;j<rooms[i].length;j++){ Room room = rooms[i][j]; if (room.getNo().equals(no)) { room.setStatus(status); return; } } } } //预定房间 public void order(String no){ updateRoomStatus(no,true); } //退房 public void exit(String no){ updateRoomStatus(no,false); } //显示酒店状态以方便服务员查看 public void print(){ for(int i=0;i<rooms.length;i++){ for(int j=0;j<rooms[i].length;j++){ Room room = rooms[i][j]; System.out.print(room); } System.out.println(); } } }
package com.JavaStudy.studyArrayTest0619; import java.util.Scanner; /** * @Author wufq * @Date 2020/6/19 09:58 */ public class Test { public static void main(String[] args){ Hotel h = new Hotel(); //Scanner类接收和扫描键盘输入 Scanner s = new Scanner(System.in); System.out.println("欢迎使用酒店系统"); System.out.println("功能编号选择功能:1.预定房间 2.退房 3.查看房间状态 4.退出系统"); while (true){ System.out.print("请输入功能编号:"); //功能编号 String sno = s.next(); if("1".equals(sno)){ System.out.print("请输入预定房间的编号:"); String roomNo = s.next(); h.order(roomNo); System.out.print("房间已预定,请按3查看预定状态"+"\t"); }else if("2".equals(sno)){ System.out.print("请输入退房的房间编号:"); String roomNo = s.next(); h.exit(roomNo); System.out.print("房间已退,请按3查看预定状态"+"\t"); }else if("3".equals(sno)){ h.print(); }else if("4".equals(sno)){ System.out.print("已退出酒店系统"); return; }else{ System.out.println("请选择正确的功能编号!"); } } } }
二、Date类
1、获取1970 1.1号 0时0分0秒到当前时间一共多少毫秒(关键字:currentTimeMillis)
package com.JavaStudy.wrapperDate0619; /** * @Author wufq * @Date 2020/6/19 16:14 * 获取1970 1.1号 0时0分0秒到当前时间一共多少毫秒 */ public class DateTest01 { public static void main(String[] args){ long now = System.currentTimeMillis(); System.out.println(now); } }
2、获取系统当前时间并转换日期格式(Date -- > String)(关键字:format)
package com.JavaStudy.wrapperDate0619; import java.text.SimpleDateFormat; import java.util.Date; /** * @Author wufq * @Date 2020/6/19 16:30 * 获取当前时间 */ public class DateTest02 { public static void main(String[] args){ Date date = new Date(); System.out.println(date);//Fri Jun 19 16:36:29 CST 2020 //Date格式转换成String格式 //创建日期格式对象 SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM月dd日 HH:mm:ss SSS"); //开始格式化:Date --> String String formatDate =simple.format(date); System.out.println(formatDate); } }
3、把String类型的时间转换成Date格式(关键字:parse)
package com.JavaStudy.wrapperDate0619; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * @Author wufq * @Date 2020/6/19 16:48 * String类转换成Date */ public class DateTest03 { public static void main(String[] args) throws ParseException { String Sdate = "2020年06月19日 16:47:59 908"; //创建日期格式对象 SimpleDateFormat Sformat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS"); //将字符串转换成日期格式 Date t = Sformat.parse(Sdate); System.out.println(t); } }