1.用JAVA实现一个由A、B、C三个窗口同时销售100张票的系统,要求打印出每个窗口打印的售票情况,并且每个窗口不得连续售票。
时间: 2023-03-08 15:05:31 浏览: 46
我可以为您提供一个简单的JAVA示例用于实现这一功能:public class TicketSelling {
public static void main(String[] args) {
int tickets = 100;
int A = 0;
int B = 0;
int C = 0;
while (tickets>0){
if (A < tickets){
A++;
System.out.println("窗口A售出一张票,剩余" + (tickets-A) + "张");
}
if (B < tickets){
B++;
System.out.println("窗口B售出一张票,剩余" + (tickets-B) + "张");
}
if (C < tickets){
C++;
System.out.println("窗口C售出一张票,剩余" + (tickets-C) + "张");
}
tickets--;
}
}
}
相关问题
用JAVA代码实现如下过程,并写出代码:实现一个由A、B、C三个窗口同时销售100张票的系统,要求打印出每个窗口打印的售票情况,并且每个窗口不得连续售票。
public class TicketSystem {
public static void main(String[] args) {
int total = 100; // 总票数
int A = 0;
int B = 0;
int C = 0;
// 循环,直到最后一张票售出
while (total > 0) {
if (A < total) {
A++;
total--;
System.out.println("A窗口售出一张票,剩余票数:" + total);
}
if (B < total) {
B++;
total--;
System.out.println("B窗口售出一张票,剩余票数:" + total);
}
if (C < total) {
C++;
total--;
System.out.println("C窗口售出一张票,剩余票数:" + total);
}
}
}
}
java利用多线程,实现100张票,由三个窗口售完。要求:输出 1号窗口售出*** 剩余**张票
在Java中,可以利用多线程来实现多个窗口同时售票的功能。下面是一个简单的示例代码:
```java
class Ticket {
private int count = 100; // 总票数
// 售票方法
public synchronized void sellTicket(String windowName) {
if (count > 0) {
System.out.println(windowName + "售出1张票,剩余" + (--count) + "张票");
}
}
}
public class Main {
public static void main(String[] args) {
Ticket ticket = new Ticket();
// 创建三个窗口线程
Thread window1 = new Thread(() -> {
while (ticket.getCount() > 0) {
ticket.sellTicket("1号窗口");
}
});
Thread window2 = new Thread(() -> {
while (ticket.getCount() > 0) {
ticket.sellTicket("2号窗口");
}
});
Thread window3 = new Thread(() -> {
while (ticket.getCount() > 0) {
ticket.sellTicket("3号窗口");
}
});
// 启动三个窗口线程
window1.start();
window2.start();
window3.start();
}
}
```
上述代码中,Ticket类表示票,其中count表示剩余的票数。sellTicket方法使用synchronized关键字修饰,确保在多线程环境下只有一个线程可以执行售票操作。
在Main类中,创建了三个窗口线程window1、window2和window3,它们分别代表三个窗口。每个窗口线程在循环中调用Ticket类的sellTicket方法进行售票,直到票数为0时停止售票。
运行上述代码,可以看到输出结果如下:
```
1号窗口售出1张票,剩余99张票
2号窗口售出1张票,剩余98张票
3号窗口售出1张票,剩余97张票
...
```