저는 Java에 대해 초보자이므로 도움이 필요합니다. 텍스트 파일에서 값을 가져온 다음 개체의 변수와 값을 비교하기 만하면됩니다. 그러나 어쨌든, 그것은 잘못된 방식으로 작동합니다. 나는 4-5 시간 이상을 보냈다. 여기에 내 코드가있다. String.equals()가 작동하지 않습니다. 어떤 문자열이 텍스트 파일입니까?
public void setUndergraduates(Undergraduate undergraduates) {
ArrayList<Undergraduate> students = this.undergraduates;
students.add(undergraduates);
this.undergraduates = students;
}
클래스
과정에서public class Course {
private String courseID;
private ArrayList<Undergraduate> undergraduates = new ArrayList<>();
setUndergraduates 그리고 여기에 텍스트 파일 구조
BIM101 % 1백11억1천1백11만1천1백11퍼센트 파파 %입니다 : 여기
는 코스 클래스 '변수입니다 25private List<Course> hs = new ArrayList<>(); private List<String> list = new ArrayList<>(); private String[] properties; public void readLines() { try (BufferedReader br = Files.newBufferedReader(Paths.get(Instructor.root.toString()), StandardCharsets.UTF_8)) { list = br.lines().collect(Collectors.toList()); for(int i = 0; i < list.size(); i++) { properties = list.get(i).split("%"); Course course = new Course(properties[0]); Undergraduate undergraduate = new Undergraduate(properties[0],properties[1], properties[2], properties[3]); if(hs.size() != 0 && isObjectInSet(course, hs)) { getIfObjectInSet(course, hs).setUndergraduates(undergraduate); }else { course.setUndergraduates(undergraduate); hs.add(course); }} }catch (IOException e) { System.err.println(e); } //System.out.println(hs.size()); } public boolean isObjectInSet(Course object, List<Course> hs) { boolean result = false; for (int i = 0; i < hs.size(); i++) { String arrayedCourse = hs.get(i).getCourseID(); String objectsID = object.getCourseID(); if (objectsID.equals(arrayedCourse)) { result = true; break; } }return result; } public Course getIfObjectInSet(Course object, List<Course> set) { Course result = null; for (int i = 0; i < set.size(); i++) { if (isObjectInSet(object, set)) { result = set.get(i); break; } }return result; }}
여기에 디버그가 있습니다. 두 문자열은 동일하지만 그들이
https://i.stack.imgur.com/BOO5d.jpg
를 정확하게 작동하는 잘못된 방법입니다 무엇? 또한,'getIfObjectInSet()'과'setUndergraduates()'에 대한 코드를 추가하십시오. – xs0
물론, 나는 그들을 추가했다. – Metomania
우리가 [mcve] (a.k.a. [SSCCE] (http://sscce.org))를 필요로하거나 더 쉽게 도와 줄 수 있도록. * 전체 * 코드를 게시 할 필요는 없지만 직면 한 문제와 관련이없는 부분을 제거하더라도 코드 예를 완료해야합니다 (복사하여 붙여 넣을 수있는 방식으로). 컴퓨터를 수정하고 아무 것도 수정/추가 할 필요없이 실행). – Pshemo