728x90
public double calculate() {
switch (operation) {
case "+":
return num1 + num2;
case "-":
return num1 - num2;
case "*":
return num1 * num2;
case "/":
if (num2 == 0) {
System.out.println("분모는 0으로 나눌 수 없습니다.");
return result;
}
return (double) num1 / num2;
default:
System.out.println("잘못된 사칙연산 기호입니다.");
break;
}
return result;
queue.add(result); //오류 발생
}
제가 오늘 Lv.2 과제를 하다가 오류가 발생했습니다. 코드부터 설명해드리자면
calculate 메서드를 실행하면, 해당 클래스 내에 저장해놓은 operation, num1, num2를 이용하여 계산을 하고, 이 결과를 queue 컬렉션에 저장하는 코드입니다.
근데 분명 문제가 없어보이는데 마지막 부분에 오류가 발생합니다. 처음에는 정말 뭐가 문제인가 싶었는데 보다보니 누구나 할 수 있지만 정말 바보같은 실수를 해버렸습니다..
queue 값을 저장하지 않고 return 해버린다는 것입니다.. add보다 return을 먼저 할 경우 사실상 저장도 못하고 그냥 버려지는 코드 한줄이 되게 됩니다.
public double calculate() {
switch (operation) {
case "+":
return num1 + num2;
case "-":
return num1 - num2;
case "*":
return num1 * num2;
case "/":
if (num2 == 0) {
System.out.println("분모는 0으로 나눌 수 없습니다.");
return result;
}
return (double) num1 / num2;
default:
System.out.println("잘못된 사칙연산 기호입니다.");
break;
}
queue.add(result); //해결 완료 ^_^
return result;
}
별거 아닌 실수지만 주의해야겠습니다...
728x90
반응형
LIST
'Sparta > java' 카테고리의 다른 글
unclosed character literal 오류해결 (0) | 2024.11.27 |
---|---|
IntelliJ 단축키 모음 (0) | 2024.11.12 |
java static 좀 더 깊게 알아보기 (0) | 2024.11.12 |
java 코드 리팩토링 (0) | 2024.11.10 |
인수(Argument)와 매개변수(Parameter) (0) | 2024.11.07 |