Я новичок, поэтому, пожалуйста, будьте осторожны со мной. Мне нужно создать программу «Акции», в которой будут храниться разные трехбуквенные коды акций, цены на акции и цены покупки. Затем отзовите их для продажи по другой цене. Моя проблема в том, что я не могу правильно добавить больше стоимости акций на карту. Когда я добавляю другое значение, оно стирает первое значение или, по крайней мере, кажется. My Block Class (NOT LISTED) возвращает новейший ключ и значения для кода, указанного ниже. Мой код и результаты перечислены ниже:
private String getPurchaseMap(String stockCode, Double quantityPurchased, Double purchasePrice) {
var stock = new Block(stockCode, quantityPurchased, purchasePrice);
var deque = new ArrayDeque<Block>();
if (!maintainStocks.containsKey(stockCode)) {
deque = new ArrayDeque<Block>();
deque.offerFirst(stock);
maintainStocks.put(stockCode, deque);
} else {
deque.offer(stock);
maintainStocks.put(stockCode, deque);
}
var tempObj = maintainStocks.get(stockCode).peekFirst();
for (var stocks : maintainStocks.entrySet()) {
System.out.printf("%s%n", stocks.getKey());
for (var test : stocks.getValue()) {
System.out.println(tempObj.getQuantity());
System.out.println(tempObj.getPrice());
}
}
return null;
}
The results are:
-Would you like to (B)uy, (S)ell stock or (E)xit? > b
-Please enter the 3-letter stock code > aaa
-Please enter the quantity to purchase > 10
-Please enter the price per share > 15
-aaa
-10.0
-15.0
-Would you like to pursue another transaction? (Y)es or (N)o > y
-Would you like to (B)uy, (S)ell stock or (E)xit? > b
-Please enter the 3-letter stock code > aaa
-Please enter the quantity to purchase > 11
-Please enter the price per share > 16
-aaa
-11.0
-16.0
-Would you like to pursue another transaction? (Y)es or (N)o > n
-Thank you for your consideration. Solution exiting.