91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java實現酒店管理系統代碼分享

發布時間:2021-09-18 11:03:41 來源:億速云 閱讀:649 作者:chen 欄目:編程語言

這篇文章主要介紹“java實現酒店管理系統代碼分享”,在日常操作中,相信很多人在java實現酒店管理系統代碼分享問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”java實現酒店管理系統代碼分享”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

實體類

一共3個實體類,每個實體類有各自的屬性和get,set方法,沒什么好說的

管理員實體類:

/*
   管理員實體
*/
package cn.edu.shengda;

/**
*
* @author Administrator
*/
public class Admin {
   private String id;                 //編號
   private String name;           //姓名
   private String password;      //密碼
   private String extend;         //權限
   void setID(String id) {
       this.id=id;
   }
   void setName(String name) {
       this.name=name;
   }
   void setPassword(String password) {
       this.password=password;
   }
   void setExtend(String extend) {
       this.extend=extend;
   }
   String getID() {
       return this.id;
   }
   String getName() {
       return this.name;
   }
   String getPassword() {
       return this.password;
   }
   String getExtend() {
       return this.extend;
   }
   
}

客戶實體類:

/*
   客戶實體
*/
package cn.edu.shengda;

import java.sql.Date;


/**
*
* @author Administrator
*/
public class Customer {
   private int id;           //編號
   private String name;     //姓名
   private String card;     //身份證
   private int room;         //房間號
   private Float money;      //押金
   private Date time;        //入住時間
   private String sex;       //性別
   private String hometown;  //籍貫
   int getId() {
       return this.id;
   }
   String getName() {
       return this.name;
   }
   String getCard() {
       return this.card;
   }
   int getRoom() {
       return this.room;
   }
   Float getMoney() {
       return this.money;
   }
   Date getTime() {
       return this.time;
   }
   String getSex() {
       return this.sex;
   }
   String getHometown() {
       return this.hometown;
   }
}


客房實體:

/*
   客房實體
*/
package cn.edu.shengda;

/**
*
* @author Administrator
*/
public class Room {
   private int id;               //編號
   private String grade ;      //級別
   private float price;        //價格
   private int state;           //狀態
   private String remarks;    //備注
   
   void setID(int ID) {
    this.id = ID;
   }
   
   void setGrade(String grade) {
    this.grade = grade;
   }
   
   void setPrice(float price) {
    this.price = price;
   }
   
   void setState(int state) {
    this.state = state;
   }
   
   void setRemarks(String remarks) {
    this.remarks = remarks;
   }
   
   int getID() {
    return this.id;
   }
   
   String getGrade() {
    return this.grade;
   }
   
   float getPrice() {
    return this.price;
   }
   
   int getState() {
    return this.state;
   }
   
   String getRemarks() {
    return this.remarks;
   }
}

圖形化界面及邏輯實現

登錄界面:

包含兩個文本框,分別是用戶名和密碼

兩個按鈕,登錄和注冊

java實現酒店管理系統代碼分享

點擊登錄,將會判斷用戶名和密碼是否正確,然后提示不同的結果

注冊頁面

點擊注冊,將會跳轉到注冊頁面

java實現酒店管理系統代碼分享

點擊注冊后也會有相應的提示

java實現酒店管理系統代碼分享

java實現酒店管理系統代碼分享

判斷注冊是否符合規則

import java.sql.PreparedStatement;
import java.sql.SQLException;

import javax.swing.JOptionPane;

public class Register {
   String name;
   String ID;
   String password;
   String confirmpassword;
   
   void setName(String name) {
       this.name = name;
   }
   void setID(String ID) {
       this.ID = ID;
   }
   void setPassword(String password) {
       this.password = password;
   }
   void setconfirmpasswd(String confirmpassword) {
       this.confirmpassword = confirmpassword;
   }
   
   private PreparedStatement getPreparedStatement(String sql) throws SQLException {
return new DBConnecter().getConnection().prepareStatement(sql);
}
   
   //判斷注冊的賬號是否符合規則
   boolean JudgeRegister() throws SQLException {
       
       if(this.name.equals("")) {
           JOptionPane.showMessageDialog(null, "用戶名不能為空!",                     "用戶名", JOptionPane.ERROR_MESSAGE);
           return false;
       }
       
       if(this.ID.equals("")) {
           JOptionPane.showMessageDialog(null, "賬號不能為空!",                        "賬號為空", JOptionPane.ERROR_MESSAGE);
           return false;
       }
       
       if(this.password.equals("")) {
           JOptionPane.showMessageDialog(null, "密碼不能為空!",                        "密碼為空", JOptionPane.ERROR_MESSAGE);
           return false;
       }
       
       if(!this.password.equals(this.confirmpassword)) {
           JOptionPane.showMessageDialog(null, "兩次輸入的密碼不一致!",                         "密碼不一致", JOptionPane.ERROR_MESSAGE);
           return false;
       }
       
       AdminManager am = new AdminManager();
       if(am.JudgeAdminID(this.ID)) {
        JOptionPane.showMessageDialog(null, "賬號已存在",                        "賬號已存在", JOptionPane.ERROR_MESSAGE);
            return false;
       }
       //符合規則,彈出注冊成功的窗口,并將賬號添加數據庫
       JOptionPane.showMessageDialog(null, "注冊成功");
       addAdmin();
       return true;
   }
   
   //向數據庫添加Admin賬戶
   void addAdmin() throws SQLException {
    String sql="insert into admin (id, name, password) values (?,?,?)";
       PreparedStatement ps = getPreparedStatement(sql);
       ps.setString(1, this.ID);
       ps.setString(2, this.name);
       ps.setString(3, this.password);
       ps.executeUpdate();
       ps.close();
   }
}

注冊成功后就可以點擊登錄了

主頁面:

登錄成功后來到主頁面

java實現酒店管理系統代碼分享

主頁面下面的表格,我先把數據庫中的房間數據讀出,然后轉換成ArrayList,最后放到表格中

class MyDefaultTableModel extends DefaultTableModel {

public MyDefaultTableModel(Object[][] data, Object[] columnNames) {
super(data, columnNames);
}

public boolean isCellEditable(int rowIndex, int columnIndex) {

return false;
}
}

private DefaultTableModel toDefaultTableModel(ArrayList<Room> al) {
int row = al.size();
Object [][] o = new Object[row+1][5];
Room room = null;
o[0][0]="房間號";
o[0][1]="級別";
o[0][2]="價格";
o[0][3]="狀態";
o[0][4]="備注";
for(int i=0; i<row; i++) {
room = al.get(i);
for(int j=0; j<5; j++) {
if(j==0) {
o[i+1][j] = Integer.valueOf(room.getID());
} else if(j==1) {
o[i+1][j] = room.getGrade();
} else if(j==2) {
o[i+1][j] = Float.valueOf(room.getPrice());
} else if(j==3) {
o[i+1][j] = room.getState()==1 ? "有人"                                                        : "空";
} else if(j==4) {
o[i+1][j] = room.getRemarks();
}

}
}
String col[]= {"房間號", "級別", "價格", "狀態", "備注"};
return new MyDefaultTableModel(o, col);
}

private ArrayList<Room> toArrayList(ResultSet rs) {
try {
ArrayList<Room> al = new ArrayList<>();
Room room = new Room();
while (rs.next()) {
room = new Room();
room.setID(rs.getInt("id"));
room.setGrade(rs.getString("grade"));
room.setPrice(rs.getFloat("price"));
room.setState(rs.getInt("state"));
room.setRemarks(rs.getString("remarks"));
al.add(room);
}
rs.close();
return al;
} catch(SQLException ex) {
return null;
}
}


系統管理包含兩個選項:刷新和退出系統,點擊刷新將重新加載表格,點擊退出系統則整個程序結束

java實現酒店管理系統代碼分享

基本管理有兩個選項:住宿登記和退房結賬,住宿登記是登記顧客的信息和選擇房間

退房結賬,輸入房間號之后會進行退房。

java實現酒店管理系統代碼分享

點擊住宿登記會跳出窗口

房間管理有兩個選項:增加房間和查詢房間

java實現酒店管理系統代碼分享

點擊添加房間,輸入房間號,價格,級別,點擊添加,添加成功;點擊取消,返回主頁面

java實現酒店管理系統代碼分享

查詢房間,輸入房間號,將會顯示房間的所有信息

java實現酒店管理系統代碼分享

JDBC連接數據庫:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

/**
*
* @author Administrator
*/
public class DBConnecter {
   /*
    連接數據庫
   */
   private String driver = "com.mysql.cj.jdbc.Driver";
   private String url = "jdbc:mysql://localhost:3306/hotelsql?                                serverTimezone=UTC&characterEncoding=utf-8";
   private String user = "root";
   private String password = "12481632";
   
   public Connection getConnection() throws SQLException {
       try {
           Class.forName(driver);
       } catch (java.lang.ClassNotFoundException cnfe) {
           cnfe.printStackTrace();
           System.out.println("驅動失敗");
       }
       Connection conn = null;
       //conn=DriverManager.getConnection(URL, "root", "12481632");
       try {
        conn = DriverManager.getConnection(url, user, password);
       
       }catch(SQLException ex) {
        System.out.println("數據庫登錄失敗!");
       }
       return conn;
   }
   /*
   
   */
}

到此,關于“java實現酒店管理系統代碼分享”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武清区| 祁门县| 乾安县| 英吉沙县| 德令哈市| 苗栗市| 永靖县| 湟中县| 保山市| 云南省| 克东县| 昔阳县| 文昌市| 固阳县| 扶沟县| 财经| 平阴县| 乌鲁木齐县| 平舆县| 玉门市| 金秀| 二连浩特市| 尉氏县| 资溪县| 康定县| 得荣县| 荆州市| 灵丘县| 瑞丽市| 临沧市| 龙海市| 万年县| 镶黄旗| 贵定县| 青浦区| 黎川县| 黎城县| 光山县| 通州市| 北流市| 屏东市|