1

私のコードはこれですが、売れ残ったロットを取得するのに問題があります。売れ残ったロットをすべて表示したいので、lotNumber に int を入力したくありません。

どこで私は間違えましたか?

public ArrayList<Lot> getUnsold()
{  
   for(Lot lot : lots) 
   {
    Bid highestBid = lot.getHighestBid();
    lotNumber = lot.getNumber();
    Unsold = new ArrayList<Lot>();
      if (highestBid != null) 
        {

            System.out.println("Lot number " + lotNumber + " is sold"); //retuern "Sold" is highestBid
        }
      else
        {
            System.out.println(lotNumber); //print bidder and highest bid value
        }
   }
   return Unsold;
}
4

1 に答える 1

6

Unsoldfor ループの前にインスタンス化する必要があります(未販売である必要があります)。また、ブロック内のUnsoldリストには何も追加していません。そのロットをブロック内にelse追加する必要があります。Unsoldelse

//assuming you are passing `lots` as parameter
    public List<Lot> getUnsold(List<Lot> lots)
    {  
       List<Lot> unsold = new ArrayList<Lot>();
       for(Lot lot : lots) 
       {
        Bid highestBid = lot.getHighestBid();
        lotNumber = lot.getNumber();
          if (highestBid != null) 
            {

                System.out.println("Lot number " + lotNumber + " is sold"); //retuern "Sold" is highestBid
            }
          else
            {
                System.out.println(lotNumber); //print bidder and highest bid value
                unsold.add(lot); // you are missing this
            }
       }
       return unsold;
    }
于 2013-03-05T21:21:44.030 に答える