Java課程設(shè)計飛機航班管理系統(tǒng).doc_第1頁
Java課程設(shè)計飛機航班管理系統(tǒng).doc_第2頁
Java課程設(shè)計飛機航班管理系統(tǒng).doc_第3頁
Java課程設(shè)計飛機航班管理系統(tǒng).doc_第4頁
Java課程設(shè)計飛機航班管理系統(tǒng).doc_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、一 引言1.1項目的名稱飛機航班信息管理系統(tǒng)1.2項目背景和目標(biāo)飛機航班信息管理系統(tǒng)主要能夠查詢飛機的航班情況,飛行線路,票價,折扣等等情況, 并能夠在數(shù)據(jù)庫中更新維護飛機航班的信息, 對飛機航班數(shù)據(jù)庫進行管理, 如航班的增加, 刪除和修改等。 我們的目標(biāo)就是為該系統(tǒng)提供后臺連接數(shù)據(jù)庫程序設(shè)計以及前臺用戶界面設(shè)計。1.3項目的可行性研究設(shè)計此系統(tǒng)需要 java 面向?qū)ο缶幊袒A(chǔ),數(shù)據(jù)庫應(yīng)用知識以及功能分析。根據(jù)目前所開設(shè)的課程, 學(xué)生已經(jīng)具備這樣的知識, 有能力綜合 java 編程知識和數(shù)據(jù)庫應(yīng)用知識做出一個這樣的飛機航班信息管理系統(tǒng)。二、 需求分析2 1 系統(tǒng)概述此系統(tǒng)提供給系統(tǒng)管理員和用戶

2、。 系統(tǒng)管理員登陸后可以對飛機航班信息進行管理,如:添加飛機航班信息,刪除飛機航班信息,修改飛機航班屬性。用戶登陸后能進行飛機航班信息查詢,訂票以及退訂。2 2 系統(tǒng)運行環(huán)境Java運行在 eclipse軟件上,數(shù)據(jù)庫用mysql 數(shù)據(jù)庫2 3 功能需求描述用戶選擇相關(guān)的服務(wù)項目可以查看相關(guān)航班基本信息,并且可以根據(jù)自己需求選擇相應(yīng)服務(wù),系統(tǒng)的信息更新時,相關(guān)的信息經(jīng)過相應(yīng)處理后,會存入到飛機航班數(shù)據(jù)庫中的航班信息記錄表中;系統(tǒng)管理員根據(jù)航空公司實際情況可以更新航班信息,并通過修改信息處理后被保存到飛機航班表中。三、系統(tǒng)設(shè)計3.1 開發(fā)與設(shè)計的總體思想飛機航班信息管理系統(tǒng)主要分為用戶和系統(tǒng)管理

3、員 2 類,因此也將該系統(tǒng)分為 2 個相應(yīng)的大的功能模塊。用戶可以通過服務(wù)項目選擇查詢相關(guān)航班情況,進行訂票,退訂等服務(wù)項目。系統(tǒng)會將數(shù)據(jù)庫中相應(yīng)信息反饋給顧客。系統(tǒng)管理員負責(zé)管系統(tǒng)信息的及時更新,可以根據(jù)航空公司航班的具體的情況更新數(shù)據(jù)庫。3.2系統(tǒng)模塊結(jié)構(gòu)圖系統(tǒng)管理員登錄飛機航班信息管理系統(tǒng)系統(tǒng)管理員模塊添刪修加除改飛飛飛機機機航航航班班班信信信息息息用戶登錄用戶模塊信訂退息票訂查詢33 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計為了支持此飛機航班信息管理系統(tǒng),創(chuàng)建數(shù)據(jù)庫airplane manage,在這個數(shù)據(jù)庫里包含三個表: flightinformation表,passenger 表,managerlogin表

4、,和 passengerlogin表,它們的截圖如下:在 flight information(飛機航班信息)表中,有8 個屬性列,分別為id (序列),stime(飛機起飛時間) ,etime(飛機到達時間) ,sadd(飛機起始點) ,eadd(飛機終點) ,znum(總票數(shù)), snum(剩余票數(shù)) 。其基本數(shù)據(jù)類型分別為:int , char , char ,char , char ,char 。當(dāng)查詢飛機航班基本信息時,從此表中獲取數(shù)據(jù)。截圖如下:在 passenger 表中,有兩個屬性列, 分別為: Pname(姓名 ),Psex( 性別 ) ,Page(年齡),Pplace( 籍

5、貫 ) ,number(電話號碼)其基本數(shù)據(jù)類型分別為:char,char,int ,char ,int 。當(dāng)管理員登錄系統(tǒng)時從此表獲取數(shù)據(jù),其截圖如下:在 managerlogin 表中,有兩個屬性列, 分別為: Mname(管理員姓名 ),Mpassword( 密碼 )其基本數(shù)據(jù)類型分別為:char,char。當(dāng)管理員登錄系統(tǒng)時從此表獲取數(shù)據(jù),其截圖如下:在 passengerlogin 表中,有兩個屬性列, 分別為: Pname(用戶姓名 ),Ppassword( 密碼 )其基本數(shù)據(jù)類型分別為:char,char。當(dāng)教職工登錄系統(tǒng)時從此表獲取數(shù)據(jù),其截圖如下:34 模塊設(shè)計在整個系統(tǒng)主界

6、面,可以選擇登錄方式,是用戶登錄還是系統(tǒng)管理員登錄。如果選擇用戶,則進入用戶登錄界面,在這個界面上要求輸入用戶姓名和密碼。輸入后單擊“確認(rèn)登錄”按鈕,若密碼正確,則轉(zhuǎn)換到飛機航班信息查詢頁面,若密碼不正確,這提示密碼錯誤。如果選擇是系統(tǒng)管理員登錄,則進入管理員登陸界面,在這個界面上輸入管理員姓名和密碼,輸入后單擊“飛機航班信息管理”按鈕,則進入管理員主界面。在管理員主界面可以選擇添加操作,刪除操作還是修改操作。若要查詢用戶的簡介信息,點擊查詢菜單項則進入用戶簡介信息檢索界面,在此界面的檢索方式中選擇要檢索的數(shù)據(jù)屬性,在檢索內(nèi)容框中輸入檢索的具體信息,例如,檢索“ pname”字段時,要輸入某個

7、用戶的姓名。輸入后,單擊“檢索”按鈕,則開始對數(shù)據(jù)庫中數(shù)據(jù)進行查詢。如果數(shù)據(jù)庫檢索到所需信息,則生成列表顯示檢索結(jié)構(gòu),如果沒有所需信息,則頁面列表中顯示為空。若要查詢飛機航班信息,點擊查詢菜單項則進入飛機航班信息檢索界面,在此界面的檢索方式中選擇要檢索的數(shù)據(jù)屬性,在檢索內(nèi)容框中輸入檢索的具體信息,例如,檢索“飛機對應(yīng)航班序號的相關(guān)信息”字段時,要鍵入某個飛機航班序號。輸入后,單擊“檢索”按鈕,則開始對數(shù)據(jù)庫中數(shù)據(jù)進行查詢。如果數(shù)據(jù)庫檢索到所需信息,則生成列表顯示檢索結(jié)構(gòu),如果沒有所需信息,則頁面列表中顯示為空。如果管理員要對數(shù)據(jù)庫中進行修改操作,則在管理員主界面上選擇修改菜單項,在此項中,選擇

8、要修改的具體內(nèi)容,總共有三項修改操作:添加飛機航班信息,刪除飛機航班信息,修改飛機航班信息。在添加信息操作中,按照標(biāo)簽提示一次輸入要添加的記錄值,輸入完畢后,單擊“添加”按鈕,若輸入成功,則提示成功,若輸入失敗,則提示失敗。在刪除信息操作中,輸入要刪除的信息,單擊“刪除”按鈕,若刪除成功,則提示成功,若刪除失敗則提示失敗。在修改信息操作中,輸入要修改的信息,單擊“修改”按鈕,若修改成功,則提示成功,若修改失敗則提示失敗。以上就是該飛機航班管理系統(tǒng)涉及的操作步驟。35 系統(tǒng)流程描述開始登陸用戶NO系統(tǒng)管理NO成 功成功YES密碼YES密 碼信 息錯誤飛機航錯誤查詢班主界訂退面票用戶信息訂航 班

9、信添 加飛 機選擇檢索方式和數(shù)據(jù)查息航 班詢航班序號信息成功NO成功NONO成功YESYES不 顯YESYES對 應(yīng) 的示 任失對 應(yīng)的不顯添四、系統(tǒng)實何現(xiàn)信敗用 戶 信航 班信示任加息息息何信成1.Connection包中的類:修改刪 除修 改飛 機飛 機航 班航 班信息信息NONO成功成功YES失失敗敗刪 除修改成功成功( 1)DBconnection息功類:此類設(shè)置程序與數(shù)據(jù)庫的連接,通過設(shè)置驅(qū)動類型和數(shù)據(jù)源來確定要連接的數(shù)據(jù)庫。若連接成功,提示:connection success ,若連接失敗,提示:connection failureDBconnection 類源代碼package

10、 connection;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBconnection public static Connection con=null;public static Connection getConnection()try String dbDriver=com.mysql.jdbc.Driver;Class.forName(dbDriver);System.out.println(Driver Suceess);

11、catch (ClassNotFoundException e) System.out.println(Driver not found);e.printStackTrace();try con=DriverManager.getConnection(jdbc:mysql:/localhost:3306/airplanemanage,root,123);System.out.println(Connection Suceess); catch (SQLException e) System.out.println(Connetion failure);e.printStackTrace();r

12、eturn con;public static void closeConnection()if(con!=null)try con.close();System.out.println(database close success); catch (SQLException e) System.out.println(close failure); e.printStackTrace();public static void main(String args)2.dao包中的類:(1)FlightDao類 : 在 該 類 中 有 四 個 方 法queryFlight,queryFlight1

13、,addFlight,deleteFlight。作用分別是為用戶提供查詢航班信息的功能,為管理者用戶提供查詢航班信息,添加航班信息,刪除航班信息功能。queryFlight()方法中,有一個參數(shù), 傳給 select語句中的Pname(用戶姓名),利用 select語句,查詢航班信息表中的內(nèi)容。若查詢成功, 則返回一個ArrayList類的對象lis (表格),否則,異常處理queryFlight1()方法中,有一個參數(shù), 傳給 select語句中的Pname(用戶姓名),這個 Pname的用戶登錄是輸入的姓名。即此類的作用是每個用戶登陸只能查看本人的航班信息。若查詢成功,則返回一個Array

14、List類的對象lis(表格),否則,異常處理addFlight()方法中,有四個參數(shù),分別傳給insert語句中的id (序列), stime (飛機起飛時間), etime (飛機到達時間) , sadd (飛機起始點) , eadd (飛機終點) ,znum (總票數(shù)),snum(剩余票數(shù)) 。利用 insert 語句,將這些記錄寫入 flight 表中。若插入成功返回 true, 否則返 回 falsedeleteFlight()方法中,有一個參數(shù), 傳給 delete語句中的Pname(用戶姓名),利用 delete語句,把flight表中相關(guān)信息刪除。若刪除成功,返回true,否則

15、返回false 。FlightDao類源代碼:package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import ui.PassengerLoginUI;import model.Flight;import model.Passenger;import connection.DBconnec

16、tion;public class FlightDao public ArrayList queryFlight(String key) ArrayList lis = new ArrayList();Connection con = DBconnection.getConnection();Statement stm;try stm = con.createStatement();String sql = select * from flight where Pname like % + key+ % ;System.out.println(sql);ResultSet rs = stm.e

17、xecuteQuery(sql); while (rs.next() Flight flight = new Flight(rs.getInt(1), rs.getString(2), rs.getString(3),rs.getString(4),rs.getString(5),getInt(6),getInt(7),getInt(8);lis.add(flight); catch (SQLException e) e.printStackTrace();return lis;public ArrayList queryFlight1(String key) ArrayList lis =

18、new ArrayList();Connection con = DBconnection.getConnection();Statement stm;try stm = con.createStatement();String sql = select * from flight where Pname like % + PassengerLoginUI.st1+ % ;System.out.println(sql);ResultSet rs = stm.executeQuery(sql); while (rs.next() Flight flight = new Flight(rs.get

19、Int(1), rs.getString(2), rs.getString(3),rs.getString(4),rs.getString(5),getInt(6),getInt(7),getInt(8);lis.add(flight); catch (SQLException e) e.printStackTrace();return lis;private Object getInt(int i) / TODO Auto-generated method stub return null;public boolean addFlight(int id, String stime ,Stri

20、ng etime, String sadd , String eadd,int price,int znum,int snum )Connection con = DBconnection.getConnection();PreparedStatement pst;try pst = con.prepareStatement(insert into flightvalues(?,?,?,?,?,?,?,?);pst.setInt(1, id);pst.setString(2, stime);pst.setString(3, etime);pst.setString(4, sadd);pst.s

21、etString(5,eadd);pst.setInt(6,price);pst.setInt(7, znum);pst.setInt(8, snum);int count = pst.executeUpdate();/ 返回修改的記錄數(shù) if (count = 1)return true;elsereturn false; catch (SQLException e) e.printStackTrace();return false;public boolean deleteFlight(String key) Connection con = DBconnection.getConnect

22、ion();Statement stm;try stm = con.createStatement();String sql = delete from flight where Pname like % + key + % ;System.out.println(sql);int count = stm.executeUpdate(sql);if (count = 1)return true;elsereturn false; catch (SQLException e) e.printStackTrace();return false;public boolean addFlight(St

23、ring id, String stime, String etime, String sadd, String eadd, String price, String znum,String snum) / TODO Auto-generated method stubreturn false;( 2) ManagerDao類:此類中有一個方法:queryManager (),作用是控制管理員登陸queryManager ()方法中,有兩個參數(shù),分別傳給select語句中的Mname(管理員姓名)和 Mpassword(登陸密碼),利用 select語句在 manager 表中檢索管理員登陸信

24、息。若存在此信息,返回true ,否則返回falseManagerDao類源代碼:package dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import connection.DBconnection;public class ManagerDao public boolean queryManager(String Mname,String Mp

25、assword) DBconnection db=new DBconnection();Connection con=db.getConnection();boolean isfound=false;PreparedStatement pst;try pst = con.prepareStatement(select * from managerlogin where Mname=?and Mpassword=?);pst.setString(1, Mname);pst.setString(2,Mpassword);ResultSet rs=pst.executeQuery();if(rs.n

26、ext()isfound=true; catch (SQLException e) e.printStackTrace();System.out.println(isfound);return isfound;public static void main(String args) (3)PassengerDao deletePassenger類:此類中有四個方法PassengerLogin ,addPassenger ,queryPassenger,作用分別是控制用戶登陸系統(tǒng),增加用戶基本信息,查詢用戶基本信息,刪除用戶基本信息。PassengerLogin ()方法中,有兩個參數(shù),分別傳給

27、select語句中的pname(用戶姓名)和 password (登錄密碼) , 利用 select 語句在 passengerlogin 表中檢索用戶登錄信息。若存在此信息,返回 true ,否則返回 falseaddPassenger ()方法中,有五個參數(shù),分別傳給insert 語句中的 pname(用戶名稱),psex(性別),page(年齡),pplace(籍貫),number(電話號碼)。利用 insert語句向 passenger用戶信息表中插入記錄。若插入成功,返回true ,否則返回 false 。queryWorker ()方法中,有兩個參數(shù),分別傳給select 語句中的

28、 field(查找方式 ) 和 key(查找內(nèi)容) , 利用 select 語句,從 passenger表中檢索用戶簡介信息。若存在此信息, 則返回一個 ArrayList 類的對象 lis (表格),否則,異常處理。deletePassenger ()方法中,有一個參數(shù),傳給delete 語句中的 pname(用戶姓名),利用 delete 語句,把 passenger 表中相關(guān)用戶信息刪除。若刪除成功,返回true ,否則返回false 。package dao;import java.sql.Connection;import java.sql.PreparedStatement;imp

29、ort java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;import model.Passenger;import connection.DBconnection;public class PassengerDao public boolean PassengerLogin(String pname,String password) DBconnection db=new DBconnection();Connection con=db.ge

30、tConnection();boolean isfound=false;PreparedStatement pst;try pst = con.prepareStatement(select* from passengerloginwhere pname=?and password=?);pst.setString(1, pname);pst.setString(2,password);ResultSet rs=pst.executeQuery();if(rs.next()isfound=true; catch (SQLException e) e.printStackTrace();Syst

31、em.out.println(isfound);return isfound;publicbooleanaddPassenger(Stringpname,Stringpsex,intpage,Stringpplace,int number)Connection con = DBconnection.getConnection();PreparedStatement pst;try pst=con.prepareStatement(insertintovalues(?,?,?,?,?);pst.setString(1, pname);pst.setString(2, psex);pst.setI

32、nt(3, page);pst.setString(4, pplace);pst.setInt(5, number);int count = pst.executeUpdate();/返回修改的記錄數(shù)if (count = 1)return true;passengerelsereturn false; catch (SQLException e) e.printStackTrace();return false;public ArrayList queryPassenger(String field, String key) ArrayList lis = new ArrayList();C

33、onnection con = DBconnection.getConnection();Statement stm;try stm = con.createStatement();String sql = select * from passenger where + field + like %+ key + % ; System.out.println(sql);ResultSet rs = stm.executeQuery(sql); while (rs.next() Passengerpassenger=newPassenger(rs.getString(1),rs.getStrin

34、g(2), rs.getInt(3), rs.getString(4), rs.getInt(5);lis.add(passenger); catch (SQLException e) e.printStackTrace();return lis;public boolean deletePassenger(String key) Connection con = DBconnection.getConnection();Statement stm;try stm = con.createStatement();String sql = delete from passenger where

35、Pname like %+ key + % ; System.out.println(sql);int count = stm.executeUpdate(sql); if (count = 1)return true;elsereturn false; catch (SQLException e) e.printStackTrace();return false;3.model 包中的類:( 1)Passenger 類:此類中有五個成員變量, String Pname, String Psex, int Page, StringPplace,intnumber,和五個成員方法,類中分別獲取和

36、設(shè)置了這五個變量,即為 passenger表中五個屬性的屬性名,每個變量都對應(yīng)了getXXX() ,setXXX() 方法,還有一個構(gòu)造方法,用于在調(diào)用其對象時對成員變量賦值Passenger類源代碼:packagemodel;publicclassPassenger StringPname;StringPsex ;intnumber ;intPage ;StringPplace;publicintgetNumber() returnnumber ;publicthisvoidsetNumber(int. number =number ;number ) publicString getPna

37、me() returnPname;publicvoidsetPname(StringPname) this. Pname =Pname;publicString getPsex() returnPsex ;publicthisvoidsetPsex(String. Psex =Psex ;Psex ) publicintreturngetPage() Page ;publicthisvoidsetPage(int. Page =Page ;Page ) publicString getPplace() returnPplace ;publicthisvoidsetPplace(String.

38、Pplace=Pplace ;Pplace ) publicPassenger(StringPname, StringPsex , intPage , StringPplace , intnumber )super();this. Pname =Pname;this. Psex =Psex ;this. Page =Page ;this. Pplace=Pplace ;this. number=number ;(2)Flight類:此類中有七個成員變量,id (序列),stime (飛機起飛時間) ,etime (飛機到達時間),sadd(飛機起始點) ,eadd(飛機終點) ,znum(總票

39、數(shù)),snum(剩余票數(shù)) 。,和七個成員方法, 類中分別獲取和設(shè)置了這七個變量,即為 flight表中七個屬性的屬性名,每個變量都對應(yīng)了getXXX() ,setXXX() 方法,還有一個構(gòu)造方法,用于在調(diào)用其對象時對成員變量賦值Flight類源代碼:packagemodel;publicclassFlight intid;Stringstime;Stringetime;Stringsadd ;Stringeadd ;intprice;intznum;intsnum;publicintgetId() returnid;publicvoidsetId(int id ) this. id= id

40、;publicString getStime() returnstime ;publicthisvoid setStime(String . stime = stime ;stime ) publicString getEtime() returnetime ;publicthisvoid setEtime(String . etime = etime ;etime ) publicString getSadd() returnsadd ;publicvoidsetSadd(Stringsadd ) this. sadd = sadd ;publicString getEadd() retur

41、neadd ;publicvoidsetEadd(StringEadd ) this. eadd =eadd ;publicintreturngetPrice() price;publicvoidsetPrice(intPrice) this. price= price;publicintgetZnum() returnznum;publicvoidsetZnum(intZnum) this. znum =znum;publicintgetSnum() returnsnum;publicvoidsetSnum(intSnum) this. snum =snum;publicFlight(int

42、id,Stringstime,Stringetime , Stringsadd ,Stringeadd , intprice, intznum, intsnum)super();this. id =id;this. stime= stime;this. etime=etime;this. sadd =sadd ;this. eadd = eadd ;this. price=price;this. znum= znum;this. snum= snum;publicFlight(intint1 , Stringstring ,String string2, Stringstring3 ,Stri

43、ngstring4, Objectint2, Objectint3,Objectint4) / TODOAuto-generated constructor stubstring4public , Stringvoid Flight1( int int1 , String string5 , int int6 , int int7 , intstring2int8) , Stringstring3, String/ TODOAuto-generated constructor stub4.ui包中的類:( 1) LoginUI 類:此類為登陸主界面類,在這個界面上,設(shè)置有兩個按鈕,管理員按鈕和

44、用戶按鈕。給這兩個按鈕注冊事件addActionListener,分別在內(nèi)部類ManagerLoginActionListene和 PassengerLoginActionListener中的默認(rèn)方法actionPerformed()中創(chuàng)建ManagerLoginUI類和 PassengerLoginUI類的對象,即打開用戶登陸界面和管理員登錄界面,并將原登陸界面關(guān)閉。LoginUI類源代碼:package ui;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class LoginUI extends

45、 JFrame JLabel l1;JButton bt1, bt2;Container cp;public LoginUI() l1 = new JLabel(請選擇用戶類型);bt1 = new JButton(管理員 );bt2 = new JButton(用戶 );JPanel p1 = new JPanel();p1.setLayout(null);l1.setBounds(150, 150, 120, 40);p1.add(l1);bt1.setBounds(120, 230, 80, 30);p1.add(bt1);bt2.setBounds(220, 230, 80, 30);p1.add(bt2);bt1.addActionListener(new ManagerLoginActionListener();/bt2.addActionListener(new PassengerLoginActionListener();/cp = getContentPane();this.setBounds(200, 200, p1.getHeight(), p1.getHeight();cp.add(p1);this.setTitle(用戶登錄界面 );注冊事件注冊事件this.setSize(400, 400);this.setVisible

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論