誕生日
オブジェクト指向プログラミングの入門コースで Java の課題があります。私は課題を終え、プログラムは期待どおりに動作し (これを達成するのにしばらく時間がかかりました!)、目的の出力が得られました。私の方法の 1 つだけで、IF ステートメントで 2 つの FOR ループを使用しましたが、より簡単で、より優れた、またはより効率的な別の方法があるかどうか疑問に思っています。しかし、ArrayList を使用することは許可されていません。ArrayList の方が簡単で、より優れており、より効率的であることは理解していますが、ArrayList を使用できなくても、コードを改善して同じ結果を達成することは可能でしょうか?
基本的に、ユーザーにプロパティ オブジェクトの ID 番号を入力するように要求し、その ID を配列のインデックス位置に一致させ、そのオブジェクトを 1 つの配列 (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 を使用せずに、より簡単、より効果的、またはより効率的な方法がある場合、その方法があるかどうか、またどのように行われるかを知りたいだけです。
お時間、ご辛抱、ご意見をお寄せいただきありがとうございます (該当する場合)。