这是我的家庭作业。 我正在尝试编写一种方法'买',允许以给定价格购买一些股票。该方法有两个参数:作为int的多个份额,以及作为double的每股价格。 例如:
Stock myStock = new Stock("FCS");
myStock.buy(20, 3.50); // buys 20 shares at $3.50
// myStock now has 20 shares at total cost $70.00
myStock.buy(10, 2.00); // buys 10 shares at $2.00
// myStock now has 30 shares at total cost $90.00
我的代码:
public static void buy(int numBuyShares, double priceBuyShares )
{
double tempTotalCost = ((double)numBuyShares * priceBuyShares);
如果我想将Integer乘以Double,我该如何编写正确的代码?我这样做是正确的吗?
我想累积成本和份额,那么我该怎么写呢?因为我需要使用sell
方法的份额和费用。
谢谢大家。现在我需要写一个方法卖出,允许一定股票的股票以给定的价格出售。该方法有两个参数:作为int的多个份额,以及作为double的每股价格。该方法返回一个布尔值,以指示销售是否成功。例如:
// myStock now has 30 shares at total cost $90.00
boolean success = myStock.sell(5, 4.00);
// sells 5 shares at $4.00 successfully
// myStock now has 25 shares at total cost $70.00
success = myStock.sell(2, 5.00);
// sells 2 shares at $5.00 successfully
// myStock now has 23 shares at total cost $60.00
1.。)我如何使用以前的股票减去新价格和股票方法?
答案 0 :(得分:0)
不需要将numShares
显式转换为double。隐式自动装箱会处理它,因为已经有双变量priceShares
- 将使用双重算术。
要保存库存的数量和价格,您必须使用某种结构。我想也许HashMap
。但是使用double
作为关键字真的不好,我会创建一些Stock类。因此HashMap
的关键是Stock
包含价格的对象和int是您拥有的所述股票的数量。
HashMap<Stock, int> stocks = new HashMap<Stock, int>();
答案 1 :(得分:0)
将double和整数相乘的方法可以正常工作。
要累积总股数,您需要在Stock类中使用一个变量来跟踪。例如:
public class Stock{
private int noOfShares = 0;
}
然后在购买方法中,您需要添加一行来添加刚购买的股票数量:
noOfShares += numBuyShares;
遵循封装原则,要从类外部访问此变量,您需要一个get方法,即:
public int getNoOfShares(){
return noOfShares;
}