이 작업을 수행하는 데 라이브러리를 사용하는 대신 코드를 직접 작성해야한다고 생각합니다. CSV 파일을 파싱하는 것은 "현재 Java를 배우는"사람에게 좋은 연습입니다.
다음은 파일을 구문 분석하기 위해 Employees 및 메서드를 보유하는 클래스입니다. 아마도 더 많은 오류 검사 코드가 있어야합니다. 파일에 두 개의 쉼표가없는 행이 있으면 프로그램이 중단됩니다. 나는 당신을 위해 경험 가치 체크를 처리하지 못했습니다. 직원을 만들 때이를 확인하고 경험 요구 사항을 충족하는 경우에만 새 개체를 배열에 추가하거나 파일에 쓰기 전에 해당 값을 확인할 수 있습니다. 파일로의 출력을 단순화하기 위해 Employee에 CSVString 메서드를 작성했습니다. 기간이 데이터에 포함되는 경우
public static ArrayList<Employee> readEmployeeFile(File csvFile) {
ArrayList<Employee> list = new ArrayList<>();
Employee joe;
try {
Scanner in = new Scanner(csvFile);
String line;
while(in.hasNextLine()) {
line = in.nextLine().trim();
String[] col = line.split(",");
joe = new Employee(col[0],col[1],col[2]);
list.add(joe);
}
in.close();
}
catch(IOException ug) {
System.out.println("Error reading line: " + line);
System.out.println(ug);
}
return list;
}
, 당신은뿐만 아니라이 큰 경우를 수를 분석하고 비교를 제거 할 수 : 파일의 목록에서 읽기 이제
2. 1 센트 이상. – Oneb
당신은 경험이 1.5 년 정도 될 수 있다는 것을 의미합니까? 그렇다면 직원 필드를 int 대신 float로 변경해야합니다. – Thorn
오 또 다른 경우입니다. 그래서 우리는 그것이 데이터와 함께있는 경우를 대비하여 마지막 기간을 없애기 만하면됩니다. – Oneb