메소드에서 파일을 읽는 프로그램을 만들어야합니다. 파일은 "data.txt"유형이며 각 행에 하나의 숫자가있는 숫자 목록 (이중 데이터 유형)을 갖습니다. 예 :파일의 총 요소 수를 배열로 가져 오는 방법은 무엇입니까?
23.4
12.3
111.4533
그때 배열 (NOT 2 차원 배열)에 넣고 메인 방법에 반환해야합니다. filename.length()
을 사용했지만 배열 크기가 더 커야하고 범위를 벗어나는 배열이 나타납니다. while 루프에서 배열을 초기화 할 수 있지만 배열의 크기를 먼저 선언해야한다는 것을 계속해서 알 수 있습니다. 그래서 while 루프를 사용하여 줄 수를 얻은 다음 다른 루프를 사용하여 요소를 입력하려고했지만 배열을 초기화하지 않고 배열을 기본 메서드로 돌려 보내지 않습니다. 여기까지 내가 무엇을 가지고 :
java.io.File file = new java.io.File(file);
int arraySize = (int)file.length();
int size = 0;
int i = 0;
try{
Scanner input = new Scanner(file);
while(input.hasNextLine()){
size++;
}
double [] array;
array1 = new double [size];
while(input.hasNext()){
array[i] = input.nextDouble();
i++;
}
어떤 제안? 나는 정말로 이것에 붙어있다. 감사.
배열 대신 ArrayList를 사용하면 미리 크기를 알 필요가 없습니다. 그래도 배열을 반환해야한다면 반환하기 전에 ArrayList를 배열로 변환하십시오. –
제 대답이 도움이되는지 알려주세요. –
이전에 배열 목록을 사용하지 않았기 때문에 불행히도 일반 배열을 사용해야합니다. – user3552956