아하
생활

생활꿀팁

그윽한고니91
그윽한고니91

java if문 질문드립니다!!!

하나는 if(xnum1<=this.lsl && this.lsl <=xnum2){this.lsl = 1}else if x_num1>this.lsl){ this.lsl=2} 이거고

다른 하나의 조건문은 if(xnum1<=this.usl && this.usl <=xnum2){this.usl = 3}else if x_num1>this.usl){ this.usl=4} 이거인데 위에 else if의 lsl만 2가 아니라 4가 뜨네요ㅜㅜ 왜 그럴까요

    55글자 더 채워주세요.
    3개의 답변이 있어요!
    • 아리따운고래64
      아리따운고래64

      안녕하세요.

      일단 제한된 조건식만 가지고 정확히 알수 없으나, if문 전에 this.lsl = 4; 형태로 초기화 되어 있지 아닌지요?

      if(xnum1<=this.lsl && this.lsl <=xnum2){this.lsl = 1}else if x_num1>this.lsl){ this.lsl=2}

      if/else if 조건 둘다를 만족하지 않는 경우는 아무런 수행이 일어나지 않습니다.

      원하시는 문장은 아마 이렇게 되어야 하지 않을까 생각이 되네요

      if(xnum1<=this.lsl && this.lsl <=xnum2){

      this.lsl = 1;

      }else {

      this.lsl=2;

      }

    • if (xnum1<=this.lsl && this.lsl <=xnum2) { this.lsl = 1 } else if (x_num1>this.lsl) { this.lsl = 2 } if(xnum1<=this.usl && this.usl <=xnum2) { this.usl = 3 }else if (x_num1>this.usl) { this.usl = 4 }

      앞으로 문의할때 이렇게 보기쉽게 소스 올려주세요

      그리고 4가 뜨는 이유는 lsl 과 xnum1 , xnum2 에 저장된 값이 무엇인지

      알려드릴수 있을것 같네요

    • 아래 코드에서

      if(xnum1 <= this.lsl && this.lsl <= xnum2) { this.lsl = 1 } else if (x_num1>this.lsl){ this.lsl = 2}

      this.lsl이 원래 4였던게 아닐까요?

      this.lsl이 4였고 if 조건도 만족하지 않고, else if 조건도 만족하지 않았다면 this.lsl이 변경되지 않았을 겁니다.