클래스를 컴파일하려고 할 때 My BlueJ IDE에이 오류가 표시됩니다. 내가 뭘 잘못하고 있는지 알 수가 없어.자바 변수가 초기화되지 않았을 수 있습니까?
답변
if 블록 내부에서 변수를 사용하려면 먼저 변수를 초기화해야합니다.
이 시도 :
double albedo=0;
대신 : 당신이 다른 블록을 지정하지 않은대로 조건이 false를 반환하는 경우 변수가 0을 유지됩니다하지만
double albedo;
염두에 두십시오.
고마워요, 이것은 완벽하게 작동했습니다! – ninopino1
이것은 컴파일 오류를 없애고 오해의 소지가 있으며 원래의 논리 문제를 해결하지 못합니다. 선언 시점에서 Java 변수를 초기화 할 필요는 없습니다. 값을 사용하기 전에 값을 지정해야합니다. 여기에는 두 개의 코드 경로가 있습니다. 하나는 if 블록의 내부를 방문하고 하나는 그렇지 않습니다. if 조건이 true이면 값이 할당되고 그렇지 않으면 값이 할당됩니다. "그렇지 않다"는 컴파일 오류가 발생했습니다. 그런데 if 조건은 -50보다 작고 +50보다 큰 숫자가 없기 때문에 여기에 절대로 적용될 수 없습니다. –
지역 변수는 다음과 같이 .Something를 사용하기 전에 값으로 초기화 할 필요가 지역 변수는 기본적으로 값을 할당하지 않기 때문에
double albedo = 0.0;
컴파일러는 불평. 따라서 런타임에 if()
조건이 실패하면 변수에 값이 할당되지 않으며이 경우 실행 시간이 함수의 호출자에게 반환되어야하는 경우 어떤 값이 할당됩니까? 따라서 일부 기본값으로 초기화하십시오.
의 사본이어야합니다.이 답변을 읽고 오류가 완벽하게 발생 된 이유를 설명합니다. 분명한 설명을 해주셔서 너무 고맙습니다. 나는 그 생각을하지 못했다고 믿을 수 없습니다! – ninopino1
if 절의 조건이 true가 아닌 경우 변수가 할당되지 않습니다. 이 경우 뒤 따르는 반환은 초기화되지 않은 변수를 참조합니다.
이것이 왜 하락했는지 확실하지 않습니다. – Patashu
이것은 개인 메서드이며 로컬 변수는 기본값을 갖지 않으므로 초기화해야합니다. 블록이있는 경우 제어가 들어 가지 않는 경우 변수에 값이 없으므로 오류가 발생하는 경우를 생각해보십시오.
- 1. 변수가 초기화되지 않았을 수 있습니까?
- 2. 변수가 초기화되지 않았을 수 있습니다 (추상 클래스)
- 3. 개체 변수가 초기화되지 않았을 수 있습니다.
- 4. 오류 : 변수가 초기화되지 않았을 수 있습니다.
- 5. "로컬 변수가 초기화되지 않았을 수 있습니다."오류
- 6. 안드로이드 - 변수가 초기화되지 않았을 수 있습니다.
- 7. 컴파일 오류 : 변수가 초기화되지 않았을 수 있습니다.
- 8. "오류 : 변수가 초기화되지 않았을 수 있습니다."
- 9. Delphi 변수가 초기화되지 않았을 수 있습니다. 경고
- 10. Java 변수가 초기화되지 않았을 수 있습니다.
- 11. 로컬 변수가 초기화되지 않았을 수 있습니다.
- 12. Java, "초기화되지 않았을 수 있습니다."
- 13. '로컬 변수가 초기화되지 않았을 수 있습니다'를 피하는 방법은 무엇입니까?
- 14. 변수가 if/else if 문에서 초기화되지 않았을 수 있습니다.
- 15. "변수가 초기화되지 않았을 수 있습니다"는 의미는 무엇입니까?
- 16. "변수가 초기화되지 않았을 수 있습니다"- Java 기반 텍스트 기반 어드벤처
- 17. try 블록 안에 FileIStream 변수가 초기화되지 않았을 수 있습니다. 오류
- 18. 배열을 처리 할 때 변수가 초기화되지 않았을 수 있습니다.
- 19. char -이 로컬 변수가 초기화되지 않았을 수 있습니다.
- 20. 문자열 변수가 초기화되지 않았을 수 있습니다 (줄 34에 오류가 있음)
- 21. 로컬 변수가 초기화되지 않았을 수 있습니다. constructor/method
- 22. Java : 예외 및 '초기화되지 않았을 수 있습니다.'
- 23. 변수 타임 스탬프가 초기화되지 않았을 수 있습니다.
- 24. "가변 카드가 초기화되지 않았을 수 있습니다."
- 25. 변수 potas가 초기화되지 않았을 수 있습니다.
- 26. 지역 변수는 초기화되지 않았을 수 있습니다
- 27. 공백 최종 필드가 초기화되지 않았을 수 있습니다.
- 28. 변수가 변수를 초기화하지 않았을 수 있음
- 29. "변수가 초기화되지 않았을 수 있습니다." 선언 된 배열 변수에 대해 오류가 발생했습니다.
- 30. 초기화되지 않았을 수 있습니다 지역 변수 주위에 방법이
어떤 언어입니까? –
@ Felix Kling : 아마도 자바지만, 나는 잘 모르겠다. – NINCOMPOOP
단순 :'temp> -50 || 임시 <50? – Patashu