G'day
我有一个面向对象编程入门课程的 Java 作业。我已经完成了任务,程序按预期工作(我花了一段时间才实现这一点!),我得到了想要的输出。仅通过我的一种方法,我使用了 2 个带有 IF 语句的 FOR 循环,我想知道是否还有另一种更简单、更好或更有效的方法?但我不允许使用 ArrayList。我知道 ArrayList 更简单、更好、更高效,但是如果不能使用 ArrayList,是否可以让我的代码更好并且仍然达到相同的结果?
基本上我要求用户输入一个属性对象的 ID 号,然后将该 ID 与数组索引位置匹配,将该对象从一个数组 (propertiesForSale) 复制到另一个数组 (propertiesSold),将增量 1 添加到我的计数器(numPropertiesSold) 在删除和压缩(我的老师说重新洗牌)第一个 (propertiesForSale) 数组并将我的另一个计数器 (numPropertiesForSale) 递减 1 之前。
我的代码如下..
public void sellProperty(int inID)
{
for (int index = 0; index < numPropertiesForSale; index++) {
if (propertiesForSale[index].getId() == inID) {
propertiesSold[numPropertiesSold]= propertiesForSale[index];
numPropertiesSold++;
for (int i = index; i < numPropertiesForSale; i++) {
propertiesForSale[i] = propertiesForSale[i + 1];
}
numPropertiesForSale--;
}
}
}
如果有不使用 ArrayList 的更简单、更好或更有效的方法,我只是想知道是否存在以及如何完成。
感谢您的时间、耐心和投入(如果有)。