Java 试图得到未售出的地段

Java 试图得到未售出的地段,java,jakarta-ee,Java,Jakarta Ee,我的代码是这样的,但我有一个问题,获得未售出的地段。我不想为lotNumber输入int,因为我想显示所有未售出的批次 我哪里出错了 public ArrayList<Lot> getUnsold() { for(Lot lot : lots) { Bid highestBid = lot.getHighestBid(); lotNumber = lot.getNumber(); Unsold = new ArrayList<Lot&g

我的代码是这样的,但我有一个问题,获得未售出的地段。我不想为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;
}

您需要在for循环之前实例化Unsold应该是Unsold。并且您没有在else块中的未售出列表中添加任何内容。你需要把那批货加到其他街区的未售出货上


您需要在for循环之前实例化Unsold应该是Unsold。并且您没有在else块中的未售出列表中添加任何内容。你需要把那批货加到其他街区的未售出货上


地段在哪里草签?应该作为参数传入吗?lots在ArrayList中。我知道类型,这从for-each循环中很明显,我只是指出它没有初始化或传入方法。请看@Rp-的答案,他们认为你是想把它传进来的!地段在哪里草签?应该作为参数传入吗?lots在ArrayList中。我知道类型,这从for-each循环中很明显,我只是指出它没有初始化或传入方法。请看@Rp-的答案,他们认为你是想把它传进来的!
//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;
    }