現在作成しているコードでは、テキストファイルの最初の行が格納され、新しいVehicleオブジェクトが作成され、nullの最初の位置に配置されます配列内のすべてのヌル値に同じ行を格納します。テキストファイルを1行ずつ読み込んでオブジェクトを配列に格納する
最初の行の内容を格納してから、新しいVehicleオブジェクトをnullの配列の最初の場所に格納します。それ以上の行がなくなるまで繰り返す。
私はforループの問題だと思います。
public void readRecord(Scanner reader)
{
setMake(reader.next());
setModel(reader.next());
setYear(reader.nextInt());
setvin(reader.next());
setValue(reader.nextDouble());
setMilesDriven(reader.nextInt());
setLastOilChange(reader.nextInt());
}
データファイル:
Hyundai Sonata 2010 ABC236347NM2N2NW2 18455.34 8765 7567
Chevy Blazer 1998 1234H32343LMN3423 29556.65 38559 38559
// EDIT \ Constraits: - 注意私が代わりにArrayListの
public void addVehicle(Vehicle[] Honda) throws FileNotFoundException
{
if(canAddVehicle() == true)
{
for(int i = 0; i < vehicles.length; i++)
{
if(vehicles[i] == null)
{
Scanner reader = new Scanner(file);
Honda[i] = new Vehicle();
Honda[i].readRecord(reader);
vehicles[i] = Honda[i];
reader.close();
}
}
System.out.println("Vehicle Added!");
}
else
{
System.out.println("You can not add more than 4 vehicles.");
}
}
Vehicleクラスの配列を使用するために必要なのです私はできません新しいパブリックメソッドやコンストラクタを作成すると、追加のクラスレベルのデータを持てません
このスレッドに固執すべきです - http://stackoverflow.com/questions/8410050/reading-a-file-line-by-line-while-storing-an-object-in-ar-array -for-each-line – adatapost
申し訳ありませんが、私は今、これを終わらせようとしている9時間連続して稼働しており、これ以上考えることは本当に困難です。私はちょうどこれを行う必要があります – MJ93
私たちが示唆できるようにあなたはデータファイルの内容を投稿する必要があります。 – adatapost