읽을 수있는 최대 4 줄의 텍스트 파일이 있습니다. 각 줄에는 탭으로 간격을 둔 문자열과 정수가 혼합되어 있습니다.각 줄의 배열에 개체를 저장하면서 한 줄씩 파일 읽기
성공적으로 내 프로그램이 1 줄을 읽고 모든 정보를 적절한 지점에 저장하는 동시에 배열에 새 개체를 저장했습니다.
문제 : 읽은 행에 따라 배열에 새 개체를 저장하는 동안 여러 줄을 읽는 방법을 알아낼 수 없습니다.
public void addVehicle(Vehicle Honda[]) throws FileNotFoundException
{
Scanner reader = new Scanner(file);
if(canAddVehicle() == true)
{
for(int i = 0; i < vehicles.length; i++)
{
if(vehicles[i] == null)
{
Honda[i] = new Vehicle();
Honda[i].readRecord(reader);
vehicles[i] = Honda[i];
reader.close();
break;
}
}
System.out.println("Vehicle Added!");
}
else
{
System.out.println("You can not add more than 4 vehicles.");
}
}
그리고 readRecord() 메소드 :
public void readRecord(Scanner reader)
{
while(reader.hasNextLine())
{
setMake(reader.next());
setModel(reader.next());
setYear(reader.nextInt());
setvin(reader.next());
setValue(reader.nextDouble());
setMilesDriven(reader.nextInt());
setLastOilChange(reader.nextInt());
}
reader.close();
}
"reader.close()" – ComputerSaysNo
어떻게 차량 배열의 길이를 선언하고 초기화합니까? 또한 Java 규칙을 좀 더 읽어 보시기 바랍니다. 대부분의 구문 규칙을 올바르게 따르지는 않습니다. 예를 들어 Honda는 대문자로 표기하면 안됩니다. 일반적으로 클래스 만 대문자가됩니다. 또한 'Vehicle [] honda'와 같이 배열의 왼쪽에 대괄호를 옮기는 것이 좋습니다. – Andrew
'if (canAddVehicle() == true)'는'if (canAddVehicle())'와 같습니다. 또한'스캐너 판독기 = 새 스캐너 (파일);가'if' 블록 내에서 이동할 수 있습니다. –