代码片段: 电影院售票系统-gistfile1.txt

package demo; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; public class Test { public static void main(Strin...
<pre>package demo; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; public class Test { public static void main(String[] args) { Cinema cia=new Cinema(100); int i=cia.buyTicket(5).number; System.out.println(i); System.out.println(cia.getSize()); int i2=cia.buyTickets(6,7,8,9,10).number; } } class Cinema{ List <Ticket>list=null; public Cinema(int length){ list=new ArrayList<Ticket>(length); for(int i=0;i<100;i++){ list.add(new Ticket(i+1)); } } public Ticket buyTicket(int number){ if(list.size()==0){ throw new RuntimeException("票已经售完"); } Ticket ticket=null; for( int i=0;i<list.size();i++){ list.get(i); if(list.get(i).number==number){ ticket=list.remove(i); } } return ticket; } //随机的抽取一张票 public void randomBuyTicket(){ int i=(int)(Math.random()*100); list.remove(i); } //一次性购买任意多的票 public List<Ticket> buyTickets(int...numbers){ List<Ticket> temp=new ArrayList<Ticket>(); for(int i=0;i<numbers.length;i++){ int number=numbers[i]; Ticket t= buyTicket(number); temp.add(t); } return temp; } //由系统按顺序拿出一张票(票号靠前的先卖出) public void autoBuy(){ for(int i=0;i<list.size();i++){ Ticket tic=list.get(i); if(tic!=null){ list.remove(tic); } } } public int getSize(){ return list.size(); } } class TickerisEmpty extends RuntimeException{ public TickerisEmpty(){ super(); } public TickerisEmpty(String message){ super(message); } } class Ticket{ public Ticket(int number) { super(); this.number = number; } int number; } </pre>
  • 发表于 2018-04-22 23:20
  • 阅读 ( 17 )
  • 分类:代码片段

0 条评论

请先 登录 后评论
不写代码的码农
网文小编

0 篇文章

作家榜 »

  1. 网文小编 0 文章
返回顶部
部分文章转自于网络,若有侵权请联系我们删除