2013-01-08 3 views
-5

내부에 자바 클래스가 있습니다. 조건을 기반으로 정수 값을 반환해야하는 메서드가 있습니다. 아래에 나와있는 설명과 같이 클래스의 메서드 내부에 일부 조건을 넣었습니다. 이 조건이 실행될 때 작성됩니다.조건이 여러 개있는 경우

def()if 조건 내 논리가 올바른지 여부를 알려주고 실행 조건에 따라 조건이 남아 있는지 여부를 알려주십시오.

class abc 
{ 
    private static SUCCESS = 1; 
    private static FAILURE = 2; 

    public void int def() 
    { 
    if (a=20 && b==30) 
    { 
     if (c==30 && d==40) // nesting IF condition will go if a=20 & b=30 
     { // do something 
      return SUCCESS; // IF this condion is met will it check remaing conditions or not 
     } 
     else 
     { 
      return FAILURE; // IF this condion is met will it check remaing conditions or not 
     } 
    } 
    else if(g==50 && d==60) 
    { 
     // do something 
     if (t==56 && p==98) // nesting IF condition will go if g=50 & d=60 
     { 
     // do something 
     return SUCCESS; // IF this condion is met will it check remaing conditions or not 
     } 
     return FAILURE; // IF this condion is met will it check remaing conditions or not 
    } 
    else 
     return FAILURE; // default return means if any othe if or else if block is satisfied then this default value will be returned from the method 
    } 
} 
+5

코드에 문제가 있는지 실제로 테스트 해 보셨습니까? 아니면 우리가 관계없이 (우리는하지 않을 것입니다) 확인하길 원하십니까? –

+0

@AndrewMarshall 어떤 조건이 충족되면 조건이 충족되면 반환 명령문이 실행될 것이라고 기대하는 방식으로 조건을 추가하는 방식을 알려주십시오. 그러면 조건이 추가로 확인되거나 – user1944559

+0

이 다시 나타납니다. 왜 다른 입력 값을 사용하여 프로그램을 실행하고 출력 결과가 예상대로인지 확인하여 직접 확인할 수 없습니까? –

답변

0

당신이 동일한

if (a==0 && b==30) 

누락하는 경우 처음에 같은

if ((a==20 && b==30 && c==30 && d==40) || (g==50 && d==60 && t==56 && p==98)) 
    return SUCCESS; 
else 
    return FAILURE; 
+0

고마워요.하지만이 방법으로 만 가야한다는 한계가 있습니다. – user1944559

0

을해야한다고 모두 당신이 다른 단어를 제거 (대괄호) 할 수 있다면 단지 몇 가지 필요없는 줄을 피하십시오.

+0

덕분에 많이 알았어 .. !!코드가 (c == 30 && d == 40) 들어가면 SUCCESS를 반환하고 추가 조건을 검사하지 않을 것이라고 조언 해주세요. 정확한지 알려주세요. – user1944559

0

논리가 올바른지 여부는 작동 방식에 대한 사양을 제공하지 않았기 때문에 알 수 없습니다. 그 = 이후

if (a=20 && b==30) 

이 거의 확실 ==해야한다 :

그러나, 당신이 적어도 하나의 문제가있을 가능성이 높습니다. 당신이 뭔가에 있음을 변경하면 크게

if (something) 
    return something; 
else 
    do_something_else; 

가독성 증가 :

또한, 당신은 당신이 좋아하는 물건을 생산하는 사고 방식에서 얻는 경우에 따라 훨씬 더 쉽게 코드를 찾을 수 있습니다

if (something) 
    return something; 
do_something_else; 

특히 당신처럼 여러 층이있을 때. 귀하의 의견과 관련하여

이 condion 그것은이 지속 할 조건 여부를 확인합니다 충족되면

.

대답은 없습니다. 즉시 return 함수에서, 그 함수에 더 이상의 코드가 실행되지 않습니다.

+0

코드가 들어가면 (c == 30 && d == 40) 성공하면 다시 조건이 체크되지 않을 것입니다. 정확한 내용은 – user1944559

+0

@user1944559입니다. 반환 후 함수에서 더 이상의 코드가 실행되지 않습니다. – paxdiablo

관련 문제