訂票系統java
㈠ 求java編寫簡單的航空訂票系統,不需要用到javaweb和資料庫 的代碼,利用文本位元組流的方式存放在文本中
用控制台做用戶界面嗎?從控制台輸入飛機批次 然後輸入時間 然後點擊Enter鍵 信息就應該提交到java程序中 並且保存到文本中 然後在輸入查看自己的訂票 然後再提交 就可以看到自己訂的票了 不過似乎也先需要查詢批次的 查詢的話 就需要把文本的內容進行分段顯示了
㈡ JAVA主要是用來干什麼的呢
其實,Java的內容很豐富,可以實現的功能也有很多。
我們常常說的Java,首先它是一種計算機編程語言,程序員用它來和計算機交流,把要求和設想用Java語言表達出來,這個過程就是我們所說的使用Java編程,所以我們說Java是一種計算機編程語言。為了讓計算機看懂,Java會有一系列的規則和約定,這些就是Java的語法。
其次,Java是一種軟體開發平台。所謂軟體開發簡單地理解為:編程的結果是軟體或者程序,而編程的過程就是軟體開發。
JAVA可以用來干什麼,下面是為大家總結的主要的六點:
一、Java可以用來做網站
很多大型網站都是用JSP寫的,JSP全名Java Server Pages。這是一種動態網頁技術,比如我們熟悉的B站,很多政府網站都是用這個寫的所以想學習Java的同學還可以負責網站方面的製作,這方面的崗位也比較多,比如:網站開發,當然就是JSP+Servlet+JavaBean,一直以來都相當流行。
二、Java可以做安卓軟體
安卓是一個手機系統基於Linux的操作系統,其中源代碼Java,市面上所有的安卓手機,包括小米,oppo,華為手機系統都是修改Java運行的,Java做安卓也不只是只能做系統,對於更多的程序開發人員來說,更多的時間是花在APP上,也就是手機上的各種軟體都是用Java寫的,Java做安卓不單單是指系統,還有APP對於更多的開發人員來說,他們更多的時間是花在開發APP上面。如果你還在尋找Java在哪運用,你不用東奔西走的尋找,你的身邊就是。Android手機,隨便打開一個App應用,他們就是用Java語言,從Google上搜索Android的API文檔,你就會發現它和Java的JDK文檔驚人的相似。
三、Java可以用來做游戲
以前諾基亞手機風靡天下的時候,上面的很多小游戲都是用Java寫的,只是現在都多去開發安卓了,電腦上的大多數也是用Java來開發的,最經典的就是《我的世界》,當今世界最具影響力的游戲英雄聯盟,吃雞就是用Java寫的
四、Java可以用來寫軟體
很多編程語言都是可以來寫軟體的,但Java是現在最適用最廣泛的,比如企業級應用開發,這里是JAVA的天地。還有OA、郵箱、投票、金融、考試、物流、醫療、礦山等信息方面的系統,Java都佔有極為重要的地位。現在國內的最熱門的就是手機應用,學習Java去做手機應用還是比較吃香的,比如:企業級應用開發,這里是JAVA的天地,大到全國聯網的系統,小到中小企業的應用解決方案,Java都佔有極為重要的地位,另外還有移動領域,典型的應用是手機游戲(國內主要是這方面),這里是J2ME的天地,其實應用范圍是很廣的。
五、Java伺服器程序
Java在金融服務業的應用非常廣泛,許多跨國投資銀行例如:Goldman Sachs(高盛投資),Citigroup(花旗集團),Barclays(巴克萊銀行)以及其他銀行,都用Java來編寫前台和後台的電子交易系統,結算和確認系統,數據處理項目以及其他項目。
大多數情況下,Java被用在伺服器端開發,但多數沒有任何前端,它們通常是從一個伺服器(上一級)接收數據,處理後發向另一個處理系統(下一級處理)。
六、Java大數據技術
Hadoop以及其他大數據處理技術都是用Java或者其他,例如Apache的基於Java 的 HBase和Accumulo以及ElasticSearchas。
但是Java在此領域並未占太大空間,但只要Hadoop和ElasticSearchas能夠成長壯大,Java 依舊還有潛力去在這個市場占據一部分。
㈢ JAVA的主要應用領域是什麼
1、大型網站,主要使用JAVA EE,最有名例子就是電子商務交易平台阿里巴巴、淘寶、京東。
2、大型企業級應用,主要使用JAVA EE,比如大型企業管理系統,CRM系統,ERP系統2.1有關通信及網路的大型企業:移動、聯通、電信、網通主要的信息化都是JAVA2.2有關金融行的大型企業,所有的銀行、證券公司,互聯網金融; 2.3大型管理系統,如:供應鏈,客戶管理系統,物流系統。
3、電子政務,主要使用JAVA EE,相關的政府部門絕大多數的信息化系統是JAVA開發的。
4、游戲,很多手機游戲都是用JAVA開發的。包括大型網游的後台數據統計都是java。
5、嵌入式設備及消費類電子產品,主要用 JAVA ME,無線手持設備、通信終端、醫療設備、信息家電(如數字電視、機頂盒、電冰箱)、汽車電子設備等是比較熱門的Java應用領域,這方面的應用例子有中國聯通CDMA 1X網路中基於Java技術的無線。
6、各大旅遊網站基本都是使用java做的開發。
7、出行的交通工具的訂票系統絕大部分也是使用java開發的。
8、流行的大數據,最主流的大數據框架Hadoop的應用主要用Java開發。Java最大的優勢之一就是它在大數據領域的地位,目前很多的大數據架構都是通過Java來完成的。
㈣ 軟體工程航空公司機票預定系統
軟體工程課程設計
一、 課程設計題目:
航空公司機票預訂系統。
二、 課程設計內容簡要分析:
航空公司為方便旅客,需開發一個機票預定系統。為便於旅客由旅行社代替航空公司負責為旅客定票,旅行社把預定機票的旅客信息,包括姓名、性別、工作單位、身份證號碼、旅行時間、旅行目的地,輸入機票預定系統的客戶端程序,系統經過查詢航空公司內的航班數據伺服器後,為旅客安排航班,印出取票通知。旅客在飛機起飛前一天憑取票通知和帳單交款後取票,系統校對無誤後即印出機票給旅客。
要求系統能有效、快速、安全、可靠和無誤的完成上述操作。並要求客戶機的界面要簡單明了,易於操作,伺服器程序利於維護。
三、主要設計過程:
1、問題定義:
航空運輸現在已經逐漸成為我國運輸事業的重要手段,但是對於航空運輸來說,天氣或人為的種種的因素,會給航空機票的預定和退訂帶來困難,特別是對於機票的預定和退訂的條理性、及時性和准確性,也同樣帶來巨大的困難。
對以上的問題,完全可以建立一套完整的航空公司機預定系統,來對信息進行錄入、查詢、訂票、退票等日常管理工作,盡量少的人員介入和數據冗餘,以簡練實用為基礎,實現信息管理計算機化,提高工作效率和信息化水平。
2、可行性分析:
可行性分析對系統的開發至關重要,可以大幅減少不必要的損失,保證系統開發的順利進行。可以從技術可行性、經濟可行性、操作可行性三方面進行系統可行性分析:
2.1、技術可行性:
這些年來,計算機技術的發展異常迅猛,而絕大多數的企業和單位,都已經把計算機作為信息和數據處理、保存和管理的重要工具。
Java是Sun Microsystem公司的James Gosling開發的編程語言。它以C++為基礎,但是卻是一個全新的軟體開發語言。Java是一個簡單,面象對象、分布式、解釋性、強壯、安全,與系統無關、可移植、高性能、多線程和動態的語言,利用Java就可以編制出程序介面好、圖形界面優美的管理系統。同時,微軟公司開發的SOL Server 2000,為資料庫的開發和管理帶來了極大的方便。
2.2、經濟可行性:
一方面,對於新系統的開發和研究,不需要花費更多的費用,而且對於人員的培訓,不同樣不需要花費很多;另一方面,航空公司的原有伺服器和計算機系統,同樣可以用來使用,不需要更新系統。
2.3、操作可行性:
對於用Java開發的本系統,通過簡單的學習就可以熟練操作,同時,對於票務的管理,也同樣因為本系統的高效性、及時性和方便性而易於管理。
通過以上的分析,航空公司機票預定系統在經濟上、技術上、操作上都是可行的。
3、 需求分析:
需求分析階段的主要目標是准確了解用戶對未來軟體的系統結構的需求,是發現、求精、建模、規格說明和復審過程。
在需求分析中,可以採用主要流程和數據流程圖來描述。
3.1、該系統主要要完成的流程為:
a) 錄入:可以錄入航班情況(數據可以存儲在一個數據文件中,數據結構、具體數據自定)
b) 查詢:可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達城市,航班票價,票價折扣,確定航班是否滿倉);可以輸入起飛抵達城市,查詢飛機航班情況;
c) 訂票:(訂票情況可以存在一個數據文件中,結構自己設定)可以訂票,如果該航班已經無票,可以提供相關可選擇航班;
d) 退票: 可退票,退票後修改相關數據文件;客戶資料有姓名,證件號,訂票數量及航班情況,訂單要有編號。
3.2、數據流程圖:
數據流程圖是描繪信息流和數據從輸入移動到輸出的過程中所經歷的變換。是一種能全面描述信息系統邏輯模型的主要工具,也是系統分析人員與用戶進行交流的有效手段。
旅客的訂票流程圖如下:
旅客取票的流程圖如下:
訂票旅客清單
列印機票
旅客信息查詢
旅客
旅客
售出機票信息
4、概要設計:
4.1、本系統的設計總框圖:
說明:本系統共分為兩大子系統:客戶定票系統和後台管理系統。
客戶服務系統包含三個子系統:
1、查詢系統(實現查詢功能)
2、定票系統(實現定票功能)
3、退票系統(實現退票和修改功能)
後台處理系統包含三個子系統:
1、航班信息查詢 (實現航班信息的查詢功能)
2、航班信息修改(實現航班信息的修改、新增、刪除功能)
3、乘客信息查詢(實現乘客信息的查詢)
兩大系統共用兩個數據文件:航班基本信息文件和客戶定票信息文件。
4.2、客戶定票系統的概要設計:
說明:
1)查詢:用戶可以通過輸入航班號單關鍵字查詢,飛機的起降地點和飛機的起飛時間雙關鍵字查詢兩種方式進行查詢。(註:結構圖里查詢和訂票之間的連線表示客戶可以由查詢界面直接進入訂票界面)
2)訂票:客戶可以直接從主界面直接進入訂票界面,也可以從航班信息查詢界面通過事件觸發進入訂票界面。客戶在訂票界面內填寫客戶基本信息和所定航班的關鍵信息,然後由提交事件進行信息有效性判斷。如果數據有效,則修改航班基本信息,新增客戶信息。
3)退票和修改:在客戶正確輸入交易單號,乘客姓名,身份證號的前提下,系統確定數據有效性,客戶擁有退票或修改交易的許可權。此時對航班基本信息數據文件和客戶訂票信息文件進行數據項的刪除或修改。
4)客戶修改的主要作用:當客戶對於所定機票的航班號,數量,等級等內容需要修改時,可啟動此功能。
同時,為方便客戶修改過程能准確的了解航班基本信息,在客戶退票界面加入了查詢按鈕。可以通過事件觸發進入相關界面。
4.3、後台管理系統的概要設計:
說明:
1) 航班信息修改:管理人員可以通過輸入航班號與日期查詢該航班的基本信息 。可在查詢的結果上進行修改,也可刪除該條信息。所有數據修改都應在數據文件中完成,在界面上顯示出來。
2) 航班信息錄入:管理人員可以通過輸入新的航班信息新加一條航班的基本信息。
3) 乘客信息查詢:管理人員可以通過輸入交易單號碼,乘客姓名,乘客身份證號查詢乘客的基本信息。
4.4、機票預訂系統的邏輯模型如下:
航班機票信息
旅行時間
姓名
性別
旅行地點
身份證號碼
工作單位
旅客
1
價格
航空公司
取票通知
帳單
訂票
1 1
時間
旅行社
合適航班機票
N
訂票旅客清單
售出機票信息
可售機票
等級
5、詳細設計:
5.1、主界面程序流程圖設計:
說明:在主界面,可以設置四個按鈕以供選擇:查詢、訂票、退票和退出。
選擇不同的按鈕觸發不同事件。
5.2、查詢系統程序流程圖設計:
5.3、訂票系統程序流程圖設計:
5.4、 退票系統流程流程圖設計:
6、實現和單元測試:
6.1、編碼:
航班信息鏈表類核心代碼:
public class FlightList implements Serializable
{
public FlightListNode firstNode; // 第一架航班的信息表
public FlightListNode lastNode; // 最後一架航班的信息表
public String name;
public int numberOfRecords; // 全天起落航班的總記錄
public FlightList( String s )
{
name = s;
firstNode = lastNode = null;
}
public boolean exist( String sFlightNo, Date date ) //判斷含傳入航班號和日期的結點是否存在
{
FlightListNode current = firstNode; // 航班信息的第一個結點
while( current != null)
{
if( current.data.flightNum.equals( sFlightNo )
&& current.data.date.equals( date ) )
return false;
else
current = current.next; //當前航班號不存在時轉入下一個結點
}
return true;
}
public void insertAtFront( FlightInfo insertItem ) //在鏈首插入結點
{
if( isEmpty() )
firstNode = lastNode = new FlightListNode( insertItem );
else
firstNode = new FlightListNode( insertItem, firstNode );
return numberOfRecords ++;
}
public void insertAtBack( FlightInfo insertItem ) //在鏈尾插入結點
{
if( isEmpty() )
firstNode = lastNode = new FlightListNode( insertItem );
else
lastNode = lastNode.next = new FlightListNode( insertItem );
return numberOfRecords ++;
}
public void delete( FlightInfo deleteItem ) //刪除航班信息結點
{
FlightListNode deleteNode = new FlightListNode( deleteItem );
FlightListNode current = firstNode;
if( isEmpty() )
throw new EmptyListException( name );
FlightListNode temp = firstNode;
int flag = 0 ;
while( current != null )
{
if( current.data.flightNum.equals( deleteNode.data.flightNum ))
{
if( flag == 0 )
{
firstNode = firstNode.next;
}
temp.next = current.next;
break;
}
else
{
temp = current;
current = current.next;
flag ++;
}
}
numberOfRecords --;
}
}
7、軟體維護:
維護方面主要為對伺服器上的資料庫數據進行維護。可使用 SQL SERVER 2000的資料庫維護功能機制。例如,定期為資料庫進行Backup,維護管理資料庫死鎖問題和維護資料庫內數據的一致性等。
三、 主要參考文獻:
1 張海潘. 軟體工程導論. 北京:清華大學出版社,2005
2 趙松濤. SQL Server 2000系統管理實錄. 北京:電子工業出版社, 2006
3 宋波. Java Web應用與開發教程. 北京:清華大學出版社,2006
4 孫衛琴. Java面向對象編程. 北京:電子工業出版社,2006
㈤ 學java能做什麼工作
在現實社會中有很多地方使用到了Java,從電子商務網站到Android apps,從科學應用到金融產品,例如電子交易系統,從類似Minecraft的游戲再到Eclipse,Netbeans和IntelliJ的桌面應用,從開源的資源庫J2MEapps等等。下面帶你一起詳細了解Java的應用領域。
1、安卓Apps
如果你想知道Java應用在哪裡,你離答案並不遠。打開你的安卓手機或者任何的App,它們完全是用有著谷歌AndroidAPI的Java編程語言編寫的,這個API和JDK非常相似。前幾年安卓剛開始起步而到今日已經很多Java程序員是安卓App的開發者。
2、在金融服務行業的伺服器應用
Java在金融服務業有著很大應用。很多的全球性投資銀行例如GoldmanSachs(高盛投資公司),Citigroup(花旗集團),Barclays(巴克萊銀行),StandardCharted(英國渣打銀行)和一些其他銀行都用Java編寫前台和後台的電子交易系統,結算、信息確認系統,數據處理項目和以及其他的項目。
Java被運用於編寫服務端應用,但大多數沒有前端,都是從一個服務端(上一級)接收數據,處理數據後發向其他的處理系統(下一級)。JavaSwing由於能開發出圖形用戶界面的客戶端供交易者使用而備受歡迎,但是現在C#正在快速地取代Swing的市場,這讓Swing倍有壓力。
6、J2MEApps
雖然IOS和Android的到來幾乎扼殺了J2ME的市場,但是仍然有很多的低端諾基亞和三星手機在使用著J2ME。曾經有段時間大部分的游戲,手機應用都是利用MIDP和CLDC,或者J2ME部分平台編寫的,以適用於Android系統。.J2ME依然在藍光、磁卡、機頂盒等產品中流行著。app之所以如此流行是因為對於所有的諾基亞手機,app仍然適用於J2ME。
7、嵌入式領域
Java在嵌入式領域也有很大的應用。你只需要130KB就能夠使用Java技術(在一塊小的晶元或者感測器上),這顯示了這個平台是多麼的可靠。Java當初是為了嵌入式設備而設計的。事實上,這也是Java當初的一項「立即編寫,隨處運行」主旨的一部分。
8、大數據技術
Hadoop和其他的大數據技術也在不同程度使用著Java,例如Apache的基於Java的Hbase,Accumulo(開源),以及ElasticSearch。但是Java並沒有佔領整個領域,還有其他的大數據技術例如MongoDB就是使用C++編寫的.如果Hadoopor和ElasticSearch逐漸發展,那麼Java就能有潛力在大數據技術領域上得到更大的發展空間。
9、高頻交易領域
Java平台已經大大提高了性能特點和JITS,並且Java也擁有像C++級別的傳輸性能。因此,Java也流行於編寫高並發系統。雖然Java的傳輸性能不比C++,但你可以不用考慮Java的安全性,可移植性和可維護性等問題(Java內部已經實現好了),而且Java有著更快的運行速度。安全性等問題會使一個沒有經驗的C++程序員編寫的應用程序變得更加緩慢和不可靠。
10、科學應用
現在Java經常是科學應用的默認選擇,包括了自然語言處理。這主要的原因是因為Java比起C++或者其他語言有更加的安全,可移植,可維護,而且Java有著更好的高級並發工具。
其實不管是選擇哪個領域只要自己技術夠強高新就不是問題。
㈥ Java學完可以做什麼工作
學完java可以做以下工作:
1.用來編寫網站。現在很多大型網站都用jsp寫的,JSP全名為Java Server Pages。它是一種動態網頁技術,比如我們熟悉的一些搜索網站、政府網站都是採用JSP編寫的。所以學習Java的同學可以找編寫網站方面的工作,而且現在找這方面的崗位比較多。
2.做Android。Android是一種基於Linux的自由及開放源代碼的操作系統,其源代碼是Java。所以市場上見到的手機系統例如MIUI,阿里雲,樂蛙等,都是修改源代碼再發行的。Java做安卓不單單是指系統,還有APP,對於更多的開發人員來說,他們更多輪悶的時間是花在開發APP上面。
3.做游戲。或許你不知道,在以前諾基亞還很族御流行的時候,你玩的手機游戲有90%以上都是Java開發的。當然現在已經很少人再去開發了,都轉到安卓上去了。
4.做軟體。一般編程語言都可以做軟體的,Java也不例外,臘穗彎例如Eclipse,MyEclipse等知名Java開發工具。有關開發軟體組件,可以了解Java Swing編程或者awt相關知識。
5.做大數據。都說現在是數據時代。各種大數據技術層出不窮。目前處理大數據的技術有python,java,R等。雖然說java沒有絕對的優勢,但是也是一大霸主。
除了上述領域外,Java在人工智慧、科學計算等領域也有一定的應用。學完之後可以做研發,產品經理,測試,運維等等。
至於薪資待遇如何,需要根據地方區域、工作經驗、技術水平、綜合實力來判斷,這是來自職友網的一個統計,可做一些參考: