자바를 배우기 위해 기본 계산기를 만들려고하는데 스위치 문에서 '이 로컬 변수가 초기화되지 않았을 수 있습니다.'라는 말을 계속합니다. 여기에 (이 스위치 문에 전달이 후) 코드char -이 로컬 변수가 초기화되지 않았을 수 있습니다.
char operator;
System.out.println("Enter First number");
firstNumber = scan.nextDouble();
System.out.println("Enter Second Number");
secondNumber = scan.nextDouble();
switch(operator) {
case '+':
answer = firstNumber + secondNumber;
System.out.println("Result = "+ answer);
break;
의 세그먼트 내 프로그램을 컴파일 할 때
그것은 나를 스위치 (운영자)에서 작업자가되지 않았 음을 알 수있다 '이 지역 변수가 초기화되지 않았을 수 있습니다'라고 '연산자'아래에 빨간 선이 표시됩니다.
은 내가 쓸 것을 저에게 말했다 : 작동하지 않았다
char operator = 0;
그래서 난
char operator = null;
을 시도하고 너무 그것은 자동으로
default:
System.out.println("Syntax Error");
에 실행 작동하지 않았다 케이스가 제대로 완료되지 않은 경우 내 기본값 인
입니다. Operator가 무엇인지 정의했기 때문에 이것까지 실행됩니다.
이 문제를 해결하려면 어떻게해야합니까?
PS이 지저분한 게시물 인 경우 더 이상 정보가 필요하면 그냥 물어, (그것은에 유래에 처음입니다) 죄송
이 case.char 연산자에서 다음 코드를 사용하여 사용 전에 초기화되어야한다
샘플 입력 및 출력은 무엇입니까? 당신은 어떻게 사업자에게 가치를 부여하고 있습니까? – zerocool
당신은 결코'operator'에 아무 것도 지정하지 않습니다, 그러나 당신은 그 프로그램이 뭔가 유용한 것을하기를 기대하고 있습니까? – ajb
'0'은 정수가 아니므로'char operator = 0' 예는 실패합니다. 'char operator = '0'; '으로 초기화 할 수는 있지만, switch 문에서'+'와 일치하는 것을 기대하는 이유가 무엇이겠습니까? 연산자 변수의 값은 어디에서 올 것이라고 기대합니까? – scrappedcola