必需布尔找不到参数

时间:2016-06-08 17:14:39

标签: java arraylist boolean

希望在我把头伸进显示器之前找到解决方案。 我想要做的是使用布尔值来制作销售函数。 基本上我希望它不卖出股票如果小于0(打印错误信息) 如果我想要+1到numSold和-1到numInStock。 当我尝试我得到一个错误 “类项中的方法sellCopy不能应用于给定类型;必需布尔值;找不到参数原因实际和形式参数列表的长度不同”

public abstract class Item
{
private String name;
private double price;
private int numInStock;
private int numSold;
public Item(String inName, double inPrice)
{
    name = inName;
    price = inPrice;
    numInStock = 0;
    numSold = 0;
}

public String getName()
{
    return name;
}

public double getPrice()
{
    return price;
}

public int getNuminStock()
{
    return numInStock;
}

public int getNumSold()
{
    return numSold;
}

public void receiveStock(int amount)
{
    numInStock = numInStock + amount;
}

public boolean sellCopy(boolean sellCopy)
{
    if (numInStock <= 0)
    {
        sellCopy = true;
        numSold = numSold +1;
        numInStock = numInStock -1;
        return true;
    }
    else
    {
        sellCopy = false;
        System.out.println("Stock unavalable");
        return false;
    }
}

}

public class Game extends Item
{
private int MaxPlayers;

public Game(String inName, int inMaxPlayers, double inPrice)
{
    super(inName, inPrice);
    MaxPlayers = inMaxPlayers;
}

public String toString()
{
return " Game " + super.toString() + " Maximum Player: " + MaxPlayers +    "\n"; 
  }
  import java.util.*;
public class Shop
 {
  private ArrayList<Item> items = new ArrayList<Item>();

   public boolean addItem(Item newItem)
   {
   if (!findItem(newItem.getName()))
   {
       items.add(newItem);
       return true;
    }
   else
   {
     System.out.println(" Error - an item with that name "     +newItem.getName() + " already exists");
     return false;
    }
   }

   public boolean findItem(String searchName)
   {
   for (Item nextItem : items)
   {
       //might be searchName//
       if (searchName.equals(nextItem.getName()))
       {
           System.out.println(nextItem);
           return true;
        }
    }
    return false;
  }

 public void listItems()
   {
   System.out.println("The shop contains the following items***\n");
   for (Item nextItem : items)
   {
       System.out.println(nextItem);
    }
  }


  public void calcTotalSales()
  {
   double total = 0;     
   for (Item nextItem : items)
   {
      total += nextItem.getNumSold() * nextItem.getPrice();
    }
   System.out.println("****The total number sold is worth $" + total);
   System.out.println("****");
  }

  }

  public class test
  {
  public static void main (String args[])
  {
    //create the shop
    Shop myShop = new Shop();



    //create a Game and add it to the shop
    Game game1 = new Game("Chess", 2, 39.95);
    myShop.addItem(game1);

    //order and get stock
    game1.receiveStock(5);

    //sell some items
   game1.sellCopy();
   //the bastard right here//

    //print information about shop
    myShop.calcTotalSales();

    //test error conditions
    Game game2 = new Game("Chess", 2, 39.95);
    myShop.addItem(game2);  //should fail as a Chess item is already in the   shop

    //eg2.sellCopy();  

   }
   }

1 个答案:

答案 0 :(得分:-1)

如果查看代码,

tshark -V

该sellCopy方法需要一个布尔值。你需要通过它。

game1.sellCopy();