① java多線程 模擬售票窗口出售電影票,假設有100張電影票,有3個售票站,模擬各個售票站的售票情況
三個線程,用個同步方法取這100張票,售完為止
② 影院選坐模塊java如何做,有什麼介面
先上傳,伺服器自己解析。不要有頁面等待。幾分鍾後用任務調度來做。節省用戶時間。 設計思路:文件上傳--任務調度執行演算法--結果展示 你所說的方式1無論插入還是查詢都是非常浪費時間的,並且讀一個那麼大的文件放入內存本身也比較慢。可否採用第二種方式的改進,比如我有100條數據,分成10分,每份可以採用你說的線程處理,然後進行歸並處理結果。這個是典型的map/rece的方式。這樣的好處是分割任務,提高效率。畢竟每個處理10條要比處理100條快很多吧。不知道解釋清楚沒
③ 用java實現賣電影票的程序,實現5個窗口同時售賣100張票.(用數組保存)
{
@Override
publicvoidrun()
{
Stringname=Thread.currentThread().getName();
while(name.startsWith("窗口"))
{
if(tickets.length==0)
{
stop();
break;
}
intnum=(int)(Math.random()*tickets.length)+1;
tickets=newint[tickets.length-num];
System.out.println(name+"售出了"+num+"張票");
try
{
Thread.sleep(500);
}
catch(InterruptedExceptione)
{}
}
}
publicsynchronizedvoidstart()
{
for(inti=0;i<ts.length;i++)
{
Threadthread=ts[i];
if(thread==null)
{
thread=newThread(this);
thread.setPriority(Thread.MIN_PRIORITY);
thread.setName("窗口"+(i+1));
thread.start();
}
}
}
publicsynchronizedvoidstop()
{
for(inti=0;i<ts.length;i++)
{
Threadthread=ts[i];
if(thread!=null)
{
thread.interrupt();
}
thread=null;
}
notifyAll();
}
staticint[]tickets=newint[100];
privatestaticintWIN=5;
Thread[]ts=newThread[WIN];
publicstaticvoidmain(String[]args)
{
newYugi().start();
}
}
④ 電影院售票的求大蝦們幫我做一個電影院售票系統(C#,java都行)CS或者BS結構都行 ,很急 請大蝦們幫幫忙
這是我以前寫的
#include<stdio.h>
#include<string.h>
#defineN99//票數容量
structDate
{
intyear;
intmonth;
intday;
};
structWord
{
charmovie[20];//片名
structDatetime;//上映日期
intprice;//票價
intspare;//剩餘票數
}a[N],t;
voidnewticket(FILE*fp)
{
printf("片名:");
scanf("%s",t.movie);
printf("日期:(例如2014125) ");
scanf("%d%d%d",&t.time.year,&t.time.month,&t.time.day);
printf("票價:");
scanf("%d",&t.price);
printf("剩餘票數:");
scanf("%d",&t.spare);
if(t.spare!=0)//余票不為0
fprintf(fp,"%-20s%4d-%02d-%02d%3d%3d ",t.movie,t.time.year,
t.time.month,t.time.day,t.price,t.spare);
fclose(fp);
}
voidlook(FILE*fp)
{
inti,n=0;
// charch;
fclose(fp);
fp=fopen("電影票.txt","r");
for(i=0;i<N;i++)
{
fscanf(fp,"%s%d-%d-%d%d%d ",a[i].movie,&a[i].time.year,
&a[i].time.month,&a[i].time.day,&a[i].price,&a[i].spare);
if(a[i].spare>0)n++;
}
for(i=0;i<n;i++)
printf("%-20s%4d-%02d-%02d%3d%3d ",a[i].movie,a[i].time.year,
a[i].time.month,a[i].time.day,a[i].price,a[i].spare);
fclose(fp);
}
voidmenu()
{
printf("========電影票管理系統======== ");
printf("1.添加售票2.余票查詢 0.退出程序 ");
printf("============================== ");
printf("功能選項:");
}
intmain()
{
FILE*fp;
charc;
while(1)
{
menu();
scanf("%c",&c);
fp=fopen("電影票.txt","a+");
switch(c)
{
case'1':newticket(fp);break;
case'2':look(fp);break;
case'0':return0;
}
}
}

⑤ 利用java,如何鎖定數組中的一個值,例如,購買電影票選座位,如何用java實現
這段代碼邏輯不清楚
int[] number=new int[100]; 這個number表示什麼?座位號,一共100個座位?
n 代表什麼?
最好把你的想法說下,這樣好幫助你
⑥ 高分求JAVA高手幫忙
public class Buy{
Object seller=new Object();
int twantyNumber=0;
int tenNumber=0;
int fiveNumber=1;
int all=5;
public Buy(){
printmony();
buyer zhao=new buyer("趙",2,20);
buyer qian=new buyer("錢",1,20);
buyer sun=new buyer("孫",1,10);
buyer li=new buyer("李",2,10);
buyer zhou=new buyer("周",1,5);
zhao.start();
qian.start();
sun.start();
li.start();
zhou.start();
}
class buyer extends Thread{
int number=0;
int mony=0;
String name=null;
boolean hasBuyed=false;
public buyer(String name,int number,int mony) {
this.number=number;
this.mony=mony;
this. name=name;
}
void print(int i){
if(i==0){System.out.println(name+" 正在買 "+number+" 張票 "+ mony+ "元錢");
}
if(i==1){System.out.println(name+" 已經買完 !");
printmony();
}
}
public void run(){
while(!hasBuyed){
synchronized (seller) {
int charge=mony-number*5;
if((tenNumber>=charge/10&&fiveNumber>=(charge%10)/5)||charge==0){
print(0);
if(mony==20)twantyNumber++;
if(mony==10)tenNumber++;
if(mony==5)fiveNumber++;
tenNumber-=charge/10;
fiveNumber-=(charge%10)/5;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
print(1);
hasBuyed=true;
seller.notifyAll();
}else{
try {
seller.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
}
void printmony(){
System.out.println("\t 售票員的錢數:");
System.out.println("\t\t\t20元\t10元\t五元");
System.out.println("\t\t\t"+twantyNumber+"張\t"+tenNumber+"張\t"+fiveNumber+"張");
}
public static void main(String[] s){
new Buy();
}
}
結果:
售票員的錢數:
20元 10元 五元
0張 0張 1張
孫 正在買 1 張票 10元錢
孫 已經買完 !
售票員的錢數:
20元 10元 五元
0張 1張 0張
趙 正在買 2 張票 20元錢
趙 已經買完 !
售票員的錢數:
20元 10元 五元
1張 0張 0張
周 正在買 1 張票 5元錢
周 已經買完 !
售票員的錢數:
20元 10元 五元
1張 0張 1張
李 正在買 2 張票 10元錢
李 已經買完 !
售票員的錢數:
20元 10元 五元
1張 1張 1張
錢 正在買 1 張票 20元錢
錢 已經買完 !
售票員的錢數:
20元 10元 五元
2張 0張 0張
⑦ 在線選座電影票javaweb畢業設計難不難
難個P啊。就是增刪改查而已。不過前後端都要會一點。
選中座位,提交時候向資料庫里增加被選中的座位號。然後頁面刷新,跳回選擇頁面時候要從新查詢!跳回的時候帶著參數回來,前端拿值,判斷是否已經被選。把背景色從藍色調成紅色。
