CSクラスの入門課題があります。Car という名前のクラスと、後でファイルをリダイレクトするための別のデータ ファイルがあります。私は:
センチネル ループを使用して、各 Car オブジェクトのメーカー、製造年、および価格を読み取り、オブジェクトをインスタンス化し、配列 carArr[] に格納します。たとえば、car1 という名前の変数に割り当てられた car オブジェクトを作成する場合、次のように実行できます: carArr[i] = car1 ここで、「i」は int カウンターです。また、「i」やnumCarsなどのint変数に格納されている配列の要素を数えます
これまでの私のコードは次のとおりです。
Scanner scan = new Scanner(System.in);
final int SIZE_ARR = 30;
Car [] carArr = new Car[SIZE_ARR];
int i = 0;
int numcars = 0;
String make = "";
int year = 0;
double price = 0.0;
final String SENT = "EndDatabase";
while (!scan.next().equals(SENT))
{
make = scan.next();
year = scan.nextInt();
price = scan.nextDouble();
Car car1 = new Car(make, year, price);
carArr[i] = car1;
i++;
numCars++;
}
ループを通過して同じ名前を持たない新しいデータを読み込むたびに、新しい Car オブジェクトを作成するにはどうすればよいですか? それらは異なる名前を持つ必要がありますか?そのまま、car1 という名前の一連のオブジェクトを作成します。最終的には、データベースを印刷して、新しい Car オブジェクトで検索キーとして読み取る必要があります。次に、キーは carArr 配列を順次検索します。配列内のすべての要素が同じ名前のオブジェクトで満たされているため、検索が混乱しますか?
また、配列を検索し、格納されているオブジェクトを検索オブジェクトと比較するときは、次のことを行う必要があります。
key.equals(carArr[i])
各オブジェクトのインスタンス変数を相互に比較しますか?
私の Car クラスでは、年、メーカー、および価格のインスタンス変数に対するアクセサー メソッドが必要です。これらをどこで使用する必要がありますか?また、「setPrice と呼ばれるミューテーター メソッド」と「equals メソッド」が必要であると述べています。それらが私にとって何を意味するのか分かりますか?これが長く、複数の質問で申し訳ありません。仕事量を先取りしようとしているのに、先生がメールに返事をくれません。ありがとう!
**********編集*************************************** ******* 私はそれを考え出した。ありがとう!