【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查看预定状态"+"	");
            }else if("2".equals(sno)){
                System.out.print("请输入退房的房间编号:");
                String roomNo = s.next();
                h.exit(roomNo);
                System.out.print("房间已退,请按3查看预定状态"+"	");
            }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);

    }
}
原文地址:https://www.cnblogs.com/frankruby/p/13175429.html