2016-06-13 6 views
1

を与え、私は機能することが期待出力を表示するのに困難を抱えています「bookShow」リスト内の項目の存在を確認することは間違った結果

リストshowlistは=を表示するタイミングと、すべてのショーのために利用できる座席数、ショーのリストです

文字列showName =ユーザーが

文字列show_timeに入ったshowNameある= showTimetheユーザーは

int型noOfSeats =を入力したされ、ユーザが入力した議席数である

ユーザーが入力したshowNameがリストに属していない場合は、関数に "UnknownShowException"を表示させます。

showNameとして何を入力しても、それは私に例外を与えます。たとえshowNameがListにあっても、それでも私には例外が与えられます。

public void bookShow(List<Show> showList, String showName, String show_time, int noOfSeats) 
     throws SeatsNotAvailableException, UnknownShowException, InvaildSeatNumberException { 
    // TODO Auto-generated method stub 
     List<Show> list=showList; 
     Iterator<Show> itr= list.iterator(); 
     try{ 
     while(itr.hasNext()){ 
      if(noOfSeats<0){ 
       throw new InvaildSeatNumberException(); 
      } 
     if(noOfSeats>itr.next().getSeatsAvailable()){ 
       throw new SeatsNotAvailableException(); 
      } 

      if(!(list.contains(showName))){ 
       throw new UnknownShowException(); 
      } 
     } 

    }catch(Exception e){ 
     System.out.println("" + e); 
    } 
} 
    } 

私が間違っているつもりどこ

答えて

0

ShowNameが文字列であるとShowlistが表示オブジェクトのリストである、あなたはショーのリスト内の特定の文字列を検索するときに、あなたが何を取得していない私に教えてください。 Showオブジェクトがあなたの文字列と等しいからです。文字列をshowオブジェクトのshow nameプロパティに一致させる必要があります。 オブジェクトのプロパティが「名前」の場合、次のように動作します。

public void bookShow(List<Show> showList, String showName, String show_time, int noOfSeats) 
     throws SeatsNotAvailableException, UnknownShowException, InvaildSeatNumberException { 
    // TODO Auto-generated method stub 
     List<Show> list=showList; 
     Iterator<Show> itr= list.iterator(); 
     try{ 
     while(itr.hasNext()){ 
      if(noOfSeats<0){ 
       throw new InvaildSeatNumberException(); 
      } 
     if(noOfSeats>itr.next().getSeatsAvailable()){ 
       throw new SeatsNotAvailableException(); 
      } 

      if(!(list.Any(x=>x.Name == showName))){ 
       throw new UnknownShowException(); 
      } 
     } 

    }catch(Exception e){ 
     System.out.println("" + e); 
    } 
} 
    } 
関連する問題