这是一个使用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
希望上述文章对您有所帮助,如果您对售票系统有任何疑问或建议,请随时留言评论,谢谢!
```
评论留言