① 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啊。就是增删改查而已。不过前后端都要会一点。
选中座位,提交时候向数据库里增加被选中的座位号。然后页面刷新,跳回选择页面时候要从新查询!跳回的时候带着参数回来,前端拿值,判断是否已经被选。把背景色从蓝色调成红色。
