2016-11-04 3 views
-8

그래서 학교 과제입니다. (저는 초보자이고 이번 주에 C#으로 시작했습니다). 우리는 함수를 저장하는 클래스가 있습니다. 이 기능은 사람이 컨베이어에 갈 수 있는지 여부를 확인합니다. 변수 : 부울 hasHeartCondition INT 나이 INT의 cm모든 코드 경로가 값을 반환하지는 않습니다. C#

정말 이런 질문에 코드를 따라 갈 수 없어 원인 나는이에 대한 새로운 질문을 만들고있어 그 이유는
public bool CanJoyride(int age, int cm, bool hasHeartCondition) 
    { 
     if (hasHeartCondition == true) 
     { 
      return false; 
     } 
     else if (hasHeartCondition == false) 
     { 
      if (age >= 18) 
      { 
       if (cm >= 130 && cm <= 210) 
       { 
        return true; 
       } 

      } 
      else if (age >= 12) 
      { 
       if (cm >= 150 && cm <= 210) 
       { 
        return true; 
       } 

      } 
      else 
      { 
       return false; 
      } 
     } 
     else 
     { 
      return false; 
     } 
    } 

. 왜냐하면 나는이게 정말 새로운 일이기 때문이다.

+0

마지막 'else'를 단지'return false'로 바꿉니다. – UnholySheep

+1

힌트 : 여기에 질문을 게시 할 때 학교 과제라고 말하지 마십시오 – meJustAndrew

+0

'age> = 18'이고 높이가 해당 항목에 속하지 않으면 범위? 또한 'age> = 12'이지만 높이가 범위에없는 경우? –

답변

4

귀하의 문제는 귀하의 방법이 끝날 때 아무런 가치를 반환하지 않는다는 것입니다. 이렇게 메소드를 다시 작성할 수 있습니다. 그것은 더 이해할 수 있고 당신의 reqirments을 채워야한다.

public bool CanJoyride(int age, int cm, bool hasHeartCondition) 
{ 
    if (hasHeartCondition)   
     return false; 


    if(age >= 18 && cm >= 130 && cm <= 210) 
     return true; 


    if (age >= 12 && cm >= 150 && cm <= 210) 
     return true; 

    return false;   
} 

코드를 화살표 방식으로 작성하지 마십시오. 이는 코드가 읽을 수 없게되고 따라 가기가 어렵 기 때문에 중첩 된 if를 피하는 것을 의미합니다.

관련 문제