학교 숙제로 연습을 하고 있는데 막히는 부분이 있어요.
텍스트(txt) 파일에 다음과 같이 적혀 있거든요.
1 2 3 4 5 6 7 8 9
9
999 888 777 666
21 2 43 1 1 1 1 1 1 1 1 1
99 -99
이걸 이제 자바 프로그램이 읽어서 각 줄에 적힌 숫자만 integer array에 저장을 해야 하네요. 프로그램 컴파일 후 시행할 때 반드시 텍스트파일 이름.txt 이렇게 지정을 해줘야 하구요.....
try //read a txt file
{
String tester;
BufferedReader in = new BufferedReader(new FileReader(args[0]));
//read things in txt file line by line.
while( (tester = in.readLine()) != null)
{
}
in.close();
}
catch(IOException e)
{
//Print out error message.
System.err.println(e);
System.exit(1);
}
다음이 궁금합니다.
1. while 루프 안에서 readLine() 함수를 통해 각 줄에 적힌 글자들을 tester라는 스트링 변수에 할당을 하는건 되는데요. tester 스트링에서 이제 1, 2, 3, 4 같은 숫자는 int array에 저장을 하고 싶고 그외 다른 문자(whitespace, \n 등등)은 무시하고 싶어요. 처음부터 배열이 int 배열이라 저장 자체가 안되기도 하구요. hasNextInt() 함수를 써봤는데도 잘 안되는데, 어떤 함수를 써서 어떻게 접근해야 할지 좀 막막합니다.
2. 줄 당 배열 하나를 쓰거든요. 그러니까 txt 파일에서 줄이 5개 있으니까 배열이 5개 필요한거죠. 이걸 run-time 중에 배열을 어떻게 교체할 수 있는지 알고 싶습니다.
|
검색하는 와중에 여러가지 배열을 다루는 법이나, primitive / reference type 의 개념이 잡힐겁니다.
지금 당장 한 줄로 끝날 메소드를 알려주느니, 한단계씩 검색하면서 배우는 것이 님에게 도움이 되리라 생각됩니다.
당연한 이야기지만, 학생은 교습자의 의도대로 따라가줘야 발전이 있답니다.