[Java Error] : a variable might not have been initialized

2020. 7. 8. 15:04·Error code 모음/5. JAVA, Spring errors
반응형

switch - case  문을 실행하는 도중에 위 에러가 발생했었다.

 

구글링을 하여 아래 링크를 찾아서 참고했다. 추후 참고해야겠다.

https://stackoverflow.com/questions/28820579/why-do-i-get-a-variable-might-not-have-been-initialized-compiler-error-in-my-s

 

Why do I get a "variable might not have been initialized" compiler error in my switch block?

I'm encountering "a variable might not have been initialized" error when using switch block. Here is my code: public static void foo(int month) { String monthString; switch (month) { ...

stackoverflow.com

 

이상해서 stackoverflow 를 찾아보면서 코드를 다시 한번 봐보았다.

public class SwitchExam {
	public static void main(String[] args) {
		int month = 8;
		String monthString;
		switch(month) {
			case 1: monthString = "Jan";
				break;
			case 2: monthString = "Feb";
				break;
			case 3: monthString = "Mar";
				break;
			case 4: monthString = "Apr";
				break;
			case 5: monthString = "May";
				break;
			case 6: monthString = "Jun";
				break;
			case 7: monthString = "Jul";
				break;
			case 8: monthString = "Aug";
				break;
			case 9: monthString = "Sep";
				break;
			case 10: monthString = "Oct";
				break;
			case 11: monthString = "Nov";
				break;
			case 12: monthString = "Dec";
				break;
			
		}
		System.out.println(monthString);
		
	
	}//end of main
	
}//end of class

 

결과 Strinf monthSTRING; 부분에 변수 선언을 안해주었기 때문에 발생한 것이다.

 

switch - case 문의 경우에는 문에 넣기 전에 변수 선언을 해주거나,

public class SwitchExam {
	public static void main(String[] args) {
		int month = 8;
		String monthString = null;
		switch(month) {
			case 1: monthString = "Jan";
				break;
			case 2: monthString = "Feb";
				break;
			case 3: monthString = "Mar";
				break;
			case 4: monthString = "Apr";
				break;
			case 5: monthString = "May";
				break;
			case 6: monthString = "Jun";
				break;
			case 7: monthString = "Jul";
				break;
			case 8: monthString = "Aug";
				break;
			case 9: monthString = "Sep";
				break;
			case 10: monthString = "Oct";
				break;
			case 11: monthString = "Nov";
				break;
			case 12: monthString = "Dec";
				break;
			
		}
		System.out.println(monthString);
		
	
	}//end of main
	
}//end of class

아래와 같이 switch 문이 끝나기 전이 default 값으로 변수를 선언해주어야 한다

public class SwitchExam {
	public static void main(String[] args) {
		int month = 8;
		String monthString;
		switch(month) {
			case 1: monthString = "Jan";
				break;
			case 2: monthString = "Feb";
				break;
			case 3: monthString = "Mar";
				break;
			case 4: monthString = "Apr";
				break;
			case 5: monthString = "May";
				break;
			case 6: monthString = "Jun";
				break;
			case 7: monthString = "Jul";
				break;
			case 8: monthString = "Aug";
				break;
			case 9: monthString = "Sep";
				break;
			case 10: monthString = "Oct";
				break;
			case 11: monthString = "Nov";
				break;
			case 12: monthString = "Dec";
				break;
			default monthString = "Invalid month";
            	break;
		}
		System.out.println(monthString);
		
	
	}//end of main
	
}//end of class

 

그래야지 에러가 없다.

반응형

'Error code 모음 > 5. JAVA, Spring errors' 카테고리의 다른 글

[Spring error] : No mapping found for HTTP request with URI 에러  (0) 2020.07.24
[JAVA Error] : Implicit super constructor Parent() is undefined. Must explicitly invoke another constructor  (0) 2020.07.08
[Spring error] : class 'org.apache.commons.dbcp.basicdatasource' not found  (0) 2020.06.10
Ant 에러1 : compile failed see the compiler error output for details  (0) 2020.05.25
JAVA 에러 : The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path  (0) 2020.05.22
'Error code 모음/5. JAVA, Spring errors' 카테고리의 다른 글
  • [Spring error] : No mapping found for HTTP request with URI 에러
  • [JAVA Error] : Implicit super constructor Parent() is undefined. Must explicitly invoke another constructor
  • [Spring error] : class 'org.apache.commons.dbcp.basicdatasource' not found
  • Ant 에러1 : compile failed see the compiler error output for details
쟈누
쟈누
Ad astra per aspera
    반응형
  • 쟈누
    쟈누의 기록공간
    쟈누
  • 전체
    오늘
    어제
    • 분류 전체보기 (444)
      • AWS (31)
        • Glue (4)
        • S3 (1)
      • 클라우드 (0)
      • Data Engineering (37)
        • GitHub (10)
        • NiFi (11)
        • Spark (10)
        • Snowflake (0)
        • 머신러닝, AI (6)
      • 언어 (118)
        • 데이터 베이스 (42)
        • JAVA (9)
        • Python (34)
        • Java Script (15)
        • Linux (18)
      • 프로젝트, 인강 그리고 책 (30)
        • Spotify Project (7)
        • RASA chatbot Project (9)
        • Naver shopping Project (6)
        • 빅데이터를 지탱하는 기술 (8)
      • OLD (56)
        • IT 용어 사전 (13)
        • Front End (12)
        • Back End (31)
      • Error code 모음 (165)
        • 1. SQL errors (17)
        • 2. Hadoop errors (20)
        • 3. Linux Errors (14)
        • 4. Python errors (33)
        • 5. JAVA, Spring errors (41)
        • 6. Jav Script errors (10)
        • 7. Dev Tools errors (9)
        • 8. Git errors (8)
        • 9. Jenkins Errors (4)
        • 10. airflow Errors (2)
        • 11. Aws errors (7)
      • 개인 (1)
        • 책 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 블로그 관리
    • 글쓰기
  • 링크

  • 공지사항

    • 간단한 블로그 소개
  • 인기 글

  • 태그

    SQL
    python error
    에러
    NiFi
    Spring
    API
    java
    linux
    MySQL
    Python
    error
    node
    자바
    install
    파이썬
    리눅스
    AWS
    설치
    json
    Git
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
쟈누
[Java Error] : a variable might not have been initialized
상단으로

티스토리툴바