Я настраиваю систему eAuction и хочу составить список для каждого покупателя выигранных им аукционов. Однако я не могу передать строку из одного класса в связанный список в другом. Я просматривал сайт о передаче строки из одного класса в другой, но ни один из них не работал.
Я пытался передать его, просто используя метод .add, но он продолжает давать мне предложения, которые не работают.
Это мой Аукционный класс
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.LinkedList;
import java.util.List;
public class Auction {
private int auctionID;
private boolean blocked = false;
private double startPrice, reservePrice;
private LocalDateTime closeDate;
private Item item;
private double UP, LOW;
private double currentBid;
private List<Bid> bids = new LinkedList<>();
private Status status;
private User seller;
private boolean itemFound;
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd MM yyyy");
private double bidAmount;
private User highestBidder;
public Auction(double startPrice, double reservePrice, double currentBid, User highestBidder,
LocalDateTime closeDate, Item item, User seller, Status status) throws Exception {
if (closeDate.isBefore(LocalDateTime.now().plusDays(7))) {
this.startPrice = startPrice;
this.reservePrice = reservePrice;
this.closeDate = closeDate;
this.item = item;
this.highestBidder = highestBidder;
this.currentBid = currentBid;
this.seller = seller;
UP = currentBid * 0.20;
LOW = currentBid * 0.10;
} else {
throw new Exception("CloseDate error: " + closeDate.format(formatter));
}
}
public void auctionVictory() {
if (status == Status.CLOSED && currentBid >= reservePrice) {
User winner = getHighestBidder();
Item winnerItem = getItem();
winnerItem.getItemName(itemName);
winner.victories.add(itemName);
}
}
}
Класс моего предмета:
public class Item {
private String itemName;
public Item(String itemName, User seller) {
setDescription(itemName);
}
public boolean checkItemSearch(String itemDescription) {
if (itemName.equals(itemDescription)) {
return true;
}
return false;
}
@Override
public String toString() {
return getItemName(itemName);
}
public void setDescription(String itemName) {
this.itemName = itemName;
}
public String getItemName(String itemName) {
return itemName;
}
}
Класс моего покупателя:
public final class Buyer extends User {
public static List<String> victories = new LinkedList<String>();
public void Victory() {
}
public Buyer(String username, String password) {
super(username, password);
}
}
Я ожидаю, что метод auctionVictory получит Пользователя с самой высокой ставкой и получит Предмет, выставленный на аукцион, если текущая ставка выше резервной цены.
Как только я получу Item и Buyer, я хочу вызвать метод getItemName из класса Item и получить имя строки для этого элемента. После этого я хочу добавить эту строку в список «побед» в классе «Покупатель».