내가 읽는 CSV 파일이 있습니다. 필자는 여섯 개의 필드를 초기화하기위한 여섯 가지 인수와 문자열을 필요한 형식으로 변환하기위한 공용 문자열 메서드를 사용하여 생성자를 만들었습니다.Java 파일을 읽고 각 해당 행에 대한 개체를 만듭니다.
public Hill(int number, String name, String countyName, double height, double latitude, double longitude) {
this.number = number;
this.name = name;
this.countyName = countyName;
this.height = height;
this.latitude = latitude;
this.longitude = longitude;
}
이제는 파일을 열고 읽은 후 해당 개체를 만든 다음 항목 목록을 반환합니다.
내가 내가 내가 바로 그 일을 한 경우 확실하지 않았기 때문에 단순히에서 새 개체를 만들려고 줄을 주석 한 public static List<Hill> readHills()
의 inital 방법 주어졌다, 그래서 난 그냥 인쇄 내 코드가 무엇을하는지 알기위한 테스트로서 새로운 객체 라인이 중복 된 것으로 보인다. 현재 내 코드입니다 : 내가 샘플 값을 넣어하지만 객체를 만드는 코드에서
public static List<Hill> readHills() {
Scanner fileName = null;
try {
fileName = new Scanner(new File("C:/Users/TOSHIBA/Desktop/hills.csv"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
Scanner finalFileName = fileName;
List<Hill> list = new ArrayList<Hill>() {
{
for(int i = 0; i < 21; i++) {
String line = finalFileName.nextLine();
String[] splitted = line.split(",");
//add(new Hill(1, "", "", 100, 100, 100));
System.out.println(Arrays.toString(splitted));
}
}
};
return list;
}
기술적 나는 새 개체의 여섯 개 분야가 내가 읽은 파일에서가되고 싶어요. 필드 이름을 추가하려고하면 빨간 선이 표시됩니다.
Non static method cannot be referenced from a static method
어디로 가고 있습니까? 그리고 왜 코드 라인이 쓸모 없습니까?
나는 코드를 가지고 놀려고했지만 아무데도 갈 수 없다. 나는 내 문제가 내가 주어진 메소드 이름을 이해하지 못한다고 생각한다; 즉, 왜, public static List<Hill> readHills()
은 무엇을합니까?
나는 Hill newHill = new Hill(int number, String name, String countyName,double height, double latitude, double longitude);
를 사용하여 시도하지만 우선 정적 컨텍스트
http://stackoverflow.com/questions/2559527/non-static-variable-cannot-be-referenced-from-a-static-context – TmTron