62,612
社区成员
发帖
与我相关
我的任务
分享
import java.util.Scanner;
class Ticket implements Runnable {
private int sum,ticket=1;
private int[] acount;
public Ticket(int sum,int n) {
super();
this.sum = sum;
acount=new int[n];
for(int i=0;i<n;i++) {
acount[i]=0;
}
}
@Override
public void run() {
// TODO Auto-generated method stub
while(sum>0) {
this.sale();
}
System.out.println("票已售完,售票窗口"+Thread.currentThread().getName()+"共售票"+acount[Integer.parseInt(Thread.currentThread().getName())-1]+"张。");
}
public synchronized void sale() {
if(sum>0) {
System.out.println("售票窗口"+Thread.currentThread().getName()+"正在售票,当前余票是:"+sum+",售出的票号是:"+ticket);
sum--;ticket++;acount[Integer.parseInt(Thread.currentThread().getName())-1]++;
}
}
}
public class test11{
public static void main(String[] arg0) {
Scanner sc= new Scanner(System.in);
System.out.println("请输入总票数和售卖窗口数用空格分开:");
String str=sc.nextLine();
String[] s=str.split(" ");
Ticket tk=new Ticket(Integer.parseInt(s[0]),Integer.parseInt(s[1]));
for(int i=1;i<=Integer.parseInt(s[1]);i++) {
new Thread(tk, String.valueOf(i)).start();
}
}
}