这是一个使用Java编写的简单售票系统的示例,我们将分为以下几个部分:
1、定义一个Ticket类,用于表示一张票。
如何定义Ticket类?
2、定义一个TicketSystem类,用于管理票务系统。
TicketSystem类是如何管理票务系统的?
3、在TicketSystem类中实现售票功能。
TicketSystem类是如何实现售票功能的?
4、创建一个主类,用于测试售票系统。
我们定义一个Ticket类:
public class Ticket {
private int id;
private boolean isSold;
public Ticket(int id) {
this.id = id;
this.isSold = false;
}
public int getId() {
return id;
}
public boolean isSold() {
return isSold;
}
public void setSold(boolean sold) {
isSold = sold;
}
}
如何定义Ticket类中的属性和方法?
接下来,我们定义一个TicketSystem类,用于管理票务系统:
import java.util.ArrayList;
import java.util.List;
public class TicketSystem {
private List<Ticket> tickets;
public TicketSystem(int numberOfTickets) {
tickets = new ArrayList<>();
for (int i = 1; i <= numberOfTickets; i++) {
tickets.add(new Ticket(i));
}
}
public boolean sellTicket(int ticketId) {
for (Ticket ticket : tickets) {
if (ticket.getId() == ticketId && !ticket.isSold()) {
ticket.setSold(true);
return true;
}
}
return false;
}
public List<Ticket> getAvailableTickets() {
List<Ticket> availableTickets = new ArrayList<>();
for (Ticket ticket : tickets) {
if (!ticket.isSold()) {
availableTickets.add(ticket);
}
}
return availableTickets;
}
}
TicketSystem类中的sellTicket和getAvailableTickets方法是如何实现的?
我们创建一个主类,用于测试售票系统:
public class Main {
public static void main(String[] args) {
TicketSystem ticketSystem = new TicketSystem(10);
System.out.println("可用票:");
for (Ticket ticket : ticketSystem.getAvailableTickets()) {
System.out.println("票号:" + ticket.getId());
}
boolean result = ticketSystem.sellTicket(5);
if (result) {
System.out.println("成功售出票号为5的票");
} else {
System.out.println("未能售出票号为5的票");
}
System.out.println("可用票:");
for (Ticket ticket : ticketSystem.getAvailableTickets()) {
System.out.println("票号:" + ticket.getId());
}
}
}
运行上述代码,你将看到以下输出:
可用票:票号:1票号:2票号:3票号:4票号:6票号:7票号:8票号:9票号:10成功售出票号为5的票可用票:票号:1票号:2票号:3票号:4票号:6票号:7票号:8票号:9票号:10
希望上述文章对您有所帮助,如果您对售票系统有任何疑问或建议,请随时留言评论,谢谢!
```
评论留言