Algorithm/Java

자바에서 Void?? [Missing return statement 계속 뜨는 이유]

min민 2022. 12. 27.

최근에 Intellij에서 간단한 계산기를 만들다가 이런 오류가 떴다,,

 

 

 

 

Missing return statement.

System.out.println("첫번째 숫자를 입력하세요.");
String str1 = input.nextLine();

System.out.println("사칙연산 기호 중 하나를 입력하세요.");
String oper = input.nextLine();

System.out.println("두번째 숫자를 입력하세요.");
String str2 = input.nextLine();


double First_numb = Integer.parseInt(str1);
double Second_num = Integer.parseInt(str2);
double result;

if (oper.equals("+")) {
  result = First_numb + Second_num;
} else if (oper.equals("-")) {
  result = First_numb - Second_num;
} else if (oper.equals("*")) {
  result = First_numb * Second_num;
} else {
  result = First_numb / Second_num;
}



System.out.println(str1 + oper + str2 + "=" + result);

결과적으로 말하자면 코드 자체에 오류는 없고 정상작동된다.

 

 

 

 

다만 Missing return 오류가 뜬것은 

 

 

 

 

ex) int add (int num1, int num2) { 

retrun num1 + num2 ; }

라는 코드가 있을때 int add 앞의 int는 반환타입이다.

 

 

 

즉 retrun으로 반환해야 할 타입이 int라는 것인데

나는 string 타입으로 작성을하고 정작 return을 하지 않아서 뜬 오류이다.

 

 

 

 

 

오류를 수정할 수 있는방법은 간단히 두가지로 볼 수 있는데

 

 

 

 

1. void를 활용한것이다. 

int는 반환 타입이다. 즉 return으로 반환해야할 타입이 int라는 것인데

반환할게 없을때는 void로 작성하면 된다.

 

ex) void add ~~

 

 

 

 

 

 

2. retrun을 작성해주면된다.

너무나도 간단히 missing return 말 그대로 return만 해주면된다.

return;

 

 

 

 

 

 

엄청나게 구글링 하다가  결국 찾은 해답,,,,

 

 

여러분도 혹시 같은 경험을 하고 있다면 참고해보시면 좋을것 같아용!! ㅎㅎ 

댓글