導航:首頁 > 編程語言 > 火車票查詢java源碼

火車票查詢java源碼

發布時間:2023-09-07 21:11:17

java車票管理系統幫幫忙

只會C語言
一. 需求分析
1.設計題目:車票管理系統
用JAVA語言和數據結構知識設計設計車票管理系統。要求如下所述:
一車站每天有n個發車班次,每個班次都有一個班次號(1、2、3…n),固定的發車時間,固定的路線(起始站、終點站),大致的行車時間,固定的額定載客量。如:
班次 發車時間 起點站 終點站 行車時間 額定載量 已定票人數
1 8:00 武漢 廣州 2 45 30
2 6:30 武漢 成都 3 40 40
3 7:00 武漢 成都 3 40 20
4 10:00 武漢 成都 3 40 2

根據以上情況設計出相應的車票管理系統,具體功能如下:
1) 錄入功能
錄入班次信息,可不定時地增加班次數據
2) 瀏覽功能
瀏覽班次信息,可顯示出所有班次當前狀況(如果當前系統時間超過了某班次的發車時間,則顯示「此班已發出」的提示信息)。
3) 查詢功能
查詢路線:可按班次號查詢,可按終點站查詢。
4) 售票功能
當查詢出已定票人數小於額定載量且當前系統時間小於發車時間時才能售票,自動更新已售票人數。
5) 退票功能
退票時,輸入退票的班次,當本班車未發出時才能退票,自動更新已售票人數。
6) 文件保存
可自行增加其他符合業務邏輯的功能
2.設計要求
a.根據題目功能需求,自己定義合適的存儲結構、類、參數等;
b.提供友好的用戶界面,方便用戶操作。
3. 系統功能需求分析
a. 錄入班次信息,可不定時地增加班次數據。
b. 瀏覽班次信息,可顯示出所有班次當前狀況(如果當前系統時間超過了某班次的發車時間,則顯示「此班已發出」的提示信息)。
c. 查詢路線:可按班次號查詢,可按終點站查詢。
d. 當查詢出已定票人數小於額定載量且當前系統時間小於發車時間時才能售票,自動更新已售票人數。
f. 退票時,輸入退票的班次,當本班車未發出時才能退票,自動更新已售票人數。

❷ 誰有java寫的調用12306介面 實現車票查詢的例子 急用~~!!

http://code.juhe.cn/docs/764,聚合數據上的

❸ 基於java的火車票售票系統,源代碼,最好有資料庫,謝謝了!

12306這個系統是完整的,而且是大量數據測試過的

❹ Java編程 假設有火車票1000張,創建10個線程模擬10個售票點,每個售票點100毫秒售出一張票。

packagetmp;

publicclassTest{
privatestaticintk=0;//售出票數
privatestaticintcount=1000;//總票數
(intn){
if(k<count){
k++;
System.out.println("第"+n+"售票點售出第"+k+"張票");
returntrue;
}
returnfalse;
}
{//售票點
intn;//售票點編號
publicSellPot(intn){
this.n=n;
}
publicvoidrun(){
while(sell(n)){
try{
Thread.sleep(100);
}catch(InterruptedExceptione){
e.printStackTrace();
}
}
}
}
publicstaticvoidmain(String[]args){
for(inti=1;i<=10;i++){
newSellPot(i).start();
}
}
}


//銀行匯款
publicclassTest2{
privatestaticintk=0;//總匯款
(intm,inti,intn){
k+=m;
System.out.println("第"+n+"個顧客進行第"+(i+1)+"次匯款,銀行接收總匯款"+k);
}
{//售票點
intn;//顧客編號
publicCostum(intn){
this.n=n;
}
publicvoidrun(){
for(inti=0;i<3;i++){
send(100,i,n);//匯款100
try{

Thread.sleep(100);
}catch(InterruptedExceptione){
e.printStackTrace();
}
}
}
}
publicstaticvoidmain(String[]args){
for(inti=1;i<=3;i++){
newCostum(i).start();
}
}
}

❺ java中,用static 變數,實現賣火車票,假如有三個窗口,每個窗口都在賣一輛火車的票, 買的票不能重復!

public class SaleTicket extends Thread{

static int mark=0;
static int ticket[]=new int [100];
int SaleTicketNo;
SaleTicket(int num){
SaleTicketNo=num;
}

public void run() {
// compute primes larger than minPrime
for(int i=0;i<100;i++)
{
if(ticket[i]==0){
ticket[i]=1;
mark=mark+1;
System.out.println("售票機編號:"+SaleTicketNo+" 票號:"+i+" 張次:"+mark);
}
}
}

}

public class Test {
/**
* @param args
*/
public static void main(String[] args) {

SaleTicket sale1=new SaleTicket(101);
SaleTicket sale2=new SaleTicket(102);
SaleTicket sale3=new SaleTicket(103);
SaleTicket sale4=new SaleTicket(104);
SaleTicket sale5=new SaleTicket(105);

sale1.start();
sale2.start();
sale3.start();
sale4.start();
sale5.start();

}

}
不考慮死鎖問題

❻ java多線程問題:模擬10個人在3個窗口買票的過程

public class TicketsSystem {
public static void main(String[] args) {
SellThread st = new SellThread();
Thread th1 = new Thread(st);
th1.start();

Thread th2 = new Thread(st);
th2.start();

Thread th3 = new Thread(st);
th3.start();
}

}

class SellThread implements Runnable {
private int number=10;
String s = new String();

public void run() {
while (number > 0) {
synchronized (s) {
System.out.println("第" + number + "個人在"
+ Thread.currentThread().getName() + "買票");
}
number--;
try {
Thread.sleep(10);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}

synchronized (s)的s是synchronized 的參數,synchronized 的參數可以是任意對象,我定義了一個String類型的對象s,方便看程序而已。
但是要注意,s的定義一定要在run方法之外,不然還會出現負數。因為你啟動了3個線程,每個線程都調用了run方法,在每個線程就會在run方法里邊產生自己的s對象,一共會產生3個,達不到同步的目的。
如果還有不明白的,可以繼續問。

閱讀全文

與火車票查詢java源碼相關的資料

熱點內容
怎樣把ug的pdf文件導入cad 瀏覽:148
c盤文件刪不了怎麼辦 瀏覽:248
win7無線網路禁用 瀏覽:455
如何把電腦文件夾圖片放置在一起 瀏覽:702
如何對訪談法進行數據分析 瀏覽:388
國土三調文件用什麼軟體什麼打開 瀏覽:651
數控銑床編程特點是什麼 瀏覽:119
飛鴿傳輸一次能傳多少文件 瀏覽:488
手機照片許可權怎麼設置密碼 瀏覽:341
es文件瀏覽器怎麼隱藏 瀏覽:649
刪除的文件為什麼恢復 瀏覽:314
血緣詛咒怎麼升級 瀏覽:604
文件分享到微信怎麼操作 瀏覽:393
tmx文件trados 瀏覽:704
大數據與會計選課怎麼選 瀏覽:684
網路的不穩定因素有哪些 瀏覽:950
獵豹瀏覽器javascript 瀏覽:723
哪個列印軟體保存數據時間長 瀏覽:873
ps合並後源文件 瀏覽:74
無線怎麼設置沒有網路 瀏覽:548

友情鏈接