十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这个应该不难,定义一个行列的坐标系,用来标识每个座位,如果有座位的就标位1,没有座位的就标位0,如果此座位票已售出,就设为99(或者其他也行),至于移动,删除等其实就是改变整个坐标系的值了,然后通过图形方式显示出来,移动呀,删除呀什么的操作可以通过拖动等来实现,考虑到电影院中实际的前排与后排座位是有一定的错开的,所以在绘制的时候,要考虑这个错开距离,这样就美观了。
目前创新互联公司已为数千家的企业提供了网站建设、域名、网站空间、成都网站托管、企业网站设计、温县网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
public class Yugi implements Runnable
{
@Override
public void run()
{
String name = Thread.currentThread().getName();
while(name.startsWith("窗口"))
{
if(tickets.length == 0)
{
stop();
break;
}
int num = (int) (Math.random() * tickets.length) + 1;
tickets = new int[tickets.length - num];
System.out.println(name + " 售出了 " + num + " 张票");
try
{
Thread.sleep(500);
}
catch(InterruptedException e)
{}
}
}
public synchronized void start()
{
for(int i = 0; i ts.length; i++)
{
Thread thread = ts[i];
if(thread == null)
{
thread = new Thread(this);
thread.setPriority(Thread.MIN_PRIORITY);
thread.setName("窗口" + (i + 1));
thread.start();
}
}
}
public synchronized void stop()
{
for(int i = 0; i ts.length; i++)
{
Thread thread = ts[i];
if(thread != null)
{
thread.interrupt();
}
thread = null;
}
notifyAll();
}
static int[] tickets = new int[100];
private static int WIN = 5;
Thread[] ts = new Thread[WIN];
public static void main(String[] args)
{
new Yugi().start();
}
}
import java.util.Scanner;
/**
*
* @author 12052010
* @Date December 05,2014
*
*/
public class Film {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int [][] num = new int[2][10];
int fg1,fg2;//标志顾客选择 的座位fg1:排数 fg2:列数
for(int i=0;inum.length;i++){
for(int j=0;jnum[i].length;j++)
num[i][j]=0;//赋初值,所有座位没有被预定
}
randomBook(num);
System.out.print("\n-----------电影院座位订票情况(0:还没被预定 1: 已经被预定)------------");
for(int i=0;inum.length;i++){
System.out.println("");
for(int j=0;jnum[i].length;j++)
System.out.print(" "+num[i][j]);
}
/**
* 顾客输进的排数必须符合0 or 1
*/
do{
System.out.print("\nInput fg1: ");
fg1=input.nextInt();
} while(fg10||fg12);
/**
* 顾客输进的列数必须符合 0-9
*/
do{
System.out.print("Input fg2: ");
fg2=input.nextInt();
} while(fg20||fg29);
if(num[fg1][fg2]==1){
System.out.print("\n已经被人订了,不好意思");
}else{
System.out.print("\n你要订的座位是: "+ fg1+"排 "+ fg2+"列, 票价:");
if(fg1==1)
System.out.print("10000文");
else
System.out.print("20000文");
}
}
/**
* 随即设置电影院的座位被预定
*/
public static void randomBook(int[][] num){
for(int i=0;inum.length;i++){
for(int j=0;jnum[i].length;j++){
//随机设置
num[i][j]=(int)(Math.random()*2);
}
}
}
}
您需要用简洁明了的文字在这将疑惑描述清楚,让回答者更好地了解您的困惑
比如您的问题还没有叙述清晰,请点击展开“问题补充”,
清楚描述您的疑惑,
,并能够加入图片来帮助回答者更加明了的知道你的疑惑,
更有针对性地帮助你。
我们可以针对你的需求提供一份适用于初学者的代码,或学生版/个人版/专业版/企业版
您需要留下Email地址,以便回答者更好的解决你的问题
为获取帮助,您可以发送消息到:六伍柒幺伍六幺五('幺'读yao,一声,'柒'同 '七'),QQ
您还可以通过向我们发起求助的方式主动去寻求我们的帮助。
如果您对回答不甚满意,希望继续对回答者进行追问了解详情时,
可点击回答内容下方的“继续追问”按钮
请您切记为您的问题选择一个最恰当的分类,
因为只有这样,您的问题才能在第一时间内得到正确解答。
交易提醒:预付订金是诈骗