아래의 예제 코드에서 "스캐너 검사"및 "문자열 [] 단어"가 선언되었을 때 'null'이 할당되었음을 확인했습니다. 왜 우리가 그렇게해야합니까? 당신의 도움에 많은 감사드립니다! * 예제 코드는 파일의 첫 번째 줄이 문자열 수인 파일에서 문자열을 읽도록 설계되었습니다. int howMany.생성자를 사용할 때 왜 null 값을 할당해야합니까? Java
int howMany;
Scanner scan = null; //why do we need to assign a 'null'?
File f;
String[] words = null; //why not use String[] words= new String []; ?
try {
f = new File(filename);
scan= new Scanner(f);
howMany = scan.nextInt();
words = new String[howMany];
for (int i = 0; i < howMany; i++) {
words[i] = scan.next();
}
} catch (IOException e) {
System.out.println(e);
}
"기본값"으로 남겨 두는 것은 좋지 않습니다. 명시 적으로 지정하는 것이 더 명확합니다. – Mephy
로컬 변수는 기본값으로 초기화되지 않으므로 이상한 결과와 반복 불가능한 결과를 방지하기 위해 "알려진"값을 제공해야합니다. – MadProgrammer
두 경우 모두 변수를 정의하고 초기화하는 것이 더 적합했을 것입니다 예를 들어, 'howMany'가 알려졌을 때와 같은 코드의 후반부에서. – EJP