gpt4 book ai didi

java - 为拍卖创建构造函数,该构造函数生成一个包含先前未售出商品的 ArrayList 的对象

转载 作者:行者123 更新时间:2023-12-02 07:30:46 25 4
gpt4 key购买 nike

不确定我的标题措辞是否合适,但是我正在使用 BlueJ 来学习一些 Java,并且正在开发一个拍卖项目(基于Objects First With Java:使用 BlueJ 的实用介绍第 4 章中的示例,以及一些变化)。我想做的是添加第二个构造函数,该构造函数将拍卖作为参数,如果该拍卖当前已关闭,则使用其中的未售出批处理创建一个新的拍卖。如果它仍然打开或为 null,则此构造函数应该像我的默认构造函数一样工作。

这是我使用默认构造函数的代码的开头:

...

public class Auction
{
// The list of Lots in this auction.
private ArrayList<Lot> lots;
// The number that will be given to the next lot entered
// into this auction.
private int nextLotNumber;
// Whether or not the auction is open for bidding.
private boolean openForBid;

/**
* Create a new auction.
*/
public Auction()
{
lots = new ArrayList<Lot>();
nextLotNumber = 1;
openForBid = true;
}

/**
* Second Constructor
*/
public Auction(Auction auction)
{
//If the auction is open..
//Create a new Auction the same as above
//else..
//create a new auction with unsold lots from the specified auction
}

我正在为这个拍卖类构建一个框架,几乎没有任何说明,但是有一个方法应该返回当前没有出价的拍卖品的 ArrayList。

public ArrayList<Lot> getNoBids()

所以我认为我需要在传递给构造函数的拍卖中调用它,但我似乎无法将所有这些放在一起。感谢您的帮助,因为我对 Java 和 ArrayLists 还很陌生!谢谢。

最佳答案

当您将默认行为/构造函数设置为打开时,您可能会看到以下内容:

public Auction(Auction auction) {

this();

if (!auction.openClosed) {
lots.addAll(auction.getNoBids());
// set close flags as necessary...
}
}

使用像 openClosed 这样的变量也会令人困惑。它可以被称为openForBidding,这将使其目的更加清晰。

关于java - 为拍卖创建构造函数,该构造函数生成一个包含先前未售出商品的 ArrayList 的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12945390/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com