2014-12-13 1 views
0

가이 코드

int i = 13; 
if (i<10) if (i>=5) Console.WriteLine("Case number 1"); 
else Console.WriteLine("case number 2"); 
Console.ReadLine(); 

뒤에 논리를 이해하기 위해 노력하고있어 경우에 문이 그래서 내가 (이 응용 프로그램의 작동을 만들기 위해 괄호가 있어야하기 때문에)이 적절한 코드가 아닙니다 알고 있다면.

나는 그것을

을 수정하여 "깨끗한"이 코드를 만드는 방법을 알고하지만이 코드를 erronated로 CSHARP 실제로이 코드의 실행 뒤에 논리를 행동 방법을 이해하기 위해 노력하고있어

내가 읽은 것으로부터 가장 가까운 if (이 경우 if = 5)에 else가 적용됩니다.

그래서 i = 3으로 쓸 때 첫 번째 if를 읽고 첫 번째 else로 이동하면 콘솔에 "Case nr 2"가 표시됩니다. 내가 i = 7을 쓸 때

그것은 2를 읽고 내게 i = 13를 작성할 때 2의 경우 이후 다른 이동해야 연구하면서 내가 이해 바로는 나에게 아무것도

을 제공하지

"사례 NR 1"을 제공합니다 이전에 테스트를 마쳤으므로, 처음 테스트 할 때 처음 테스트 할 때 이해할 수있는 부분부터 다른 테스트 단계로 넘어 가면 양쪽 모두 테스트해야합니다.

케이스 번호를 알려줘야 2 단계 만 테스트하면됩니다.

그래서 내가 생각하는 내 방식으로 확실히 틀렸다,하지만 아무것도에게 이것은

+0

'else'가'if (i> = 5) '로 설정되어 있으므로 아무 것도 출력하지 않습니다. – Icepickle

+0

int가 13이면 else Console.WriteLine ("case number 2");을 실행하십시오. 그것이 –

+0

에 도착하지 않는다면 거기에 도달하지 못합니다. 첫 번째 오류가 발생하면 ReadLine 부분으로 직접 이동합니다. – Icepickle

답변

2

코드는 다음과 같다 :

if (i < 10) 
{ 
    if (i >= 5) { 
     Console.WriteLine("Case number 1"); 
    } 
    else { 
     Console.WriteLine("case number 2"); 
    } 
} 

Console.ReadLine(); 

그래서 i[5,10)에있는 경우는 사건 번호 1이고이 (-Infinity,10)에있는 경우는 사건 번호 2

몇 가지 힌트입니다 :

  • 몇 가지 잘 알려진 코드 규칙을 사용하는 것이 좋습니다.
  • use ind 코드를 좀 더 읽기 좋게 만들기위한 노력
  • 하나의 명령문이나 여러 개의 명령문이있는 블록이 있든간에 개폐 중괄호를 사용하십시오.
  • 코드에 마법의 텍스트를 넣지 않으려 고 시도하면 여기에 "사례"와 "사례"가 있습니다. 주로 테스트 시나리오에서 나중에 문제가 발생할 수있는 것
+1

감사합니다. 힌트를 주셔서 감사합니다. –

5

를 표시하지 않는 이유를 찾을 수없는 방법 경우 루프 작업 (내가 코드를 indended 중괄호 추가)

is i < 10? No 

따라서의를 입력하지 경우 결코 다음 실행 : 당신의 전 = 13, 그것은처럼 동작 할 때 조건 i >= 5에 따라서 경우가 다른

int i = 13; 
if (i<10) { 
    if (i>=5) { 
     Console.WriteLine("Case number 1"); 
    } else { 
     Console.WriteLine("case number 2"); 
} 
Console.ReadLine(); 

그래서 내부 대응 명세서Console.ReadLine();