2013-02-25 4 views
1

자바에서 여러 조건을 작성하는 방법이 궁금합니다.자바의 여러 if 조건

for (int i = 1; i <= pqrst; i++) { 
    P = P + "{" + Pxcoor[i] + "," + Pycoor[i] + "} ; "; 
    Q = Q + "{" + Qxcoor[i] + "," + Qycoor[i] + "} ; "; 
    R1 = R1 + "{" + Rxcoor[i] + "," + Rycoor[i] + "} ; "; 
    S = S + "{" + Sxcoor[i] + "," + Sycoor[i] + "} ; "; 
    T = T + "{" + Txcoor[i] + "," + Tycoor[i] + "} ; "; 


    if (i >= 2) { 
     rrdistance += (((Rxcoor[i] - Rxcoor[i - 1])/FINALBOXWIDTH(bitmap_Source)) * 0.04);//durations in seconds 
     printerval += (((Rxcoor[i] - Pxcoor[i])/FINALBOXWIDTH(bitmap_Source)) * 0.04); 
     qsdistance += (((Sxcoor[i] - Qxcoor[i])/FINALBOXWIDTH(bitmap_Source)) * 0.04); 
     heartrate += (1500/(rrdistance/0.04)); 

    //amplitude in mV 
     pamp = (((trial[1] - Pycoor[i])/(double)FINALBOXWIDTH(bitmap_Source)) * 0.1); 
     qamp = (((Qycoor[i] - trial[i])/(double)FINALBOXWIDTH(bitmap_Source)) *0.1); 
     ramp = (((trial[1] - Rycoor[i])/(double)FINALBOXWIDTH(bitmap_Source)) *0.1); 
     samp = (((Sycoor[i] - trial[i])/(double)FINALBOXWIDTH(bitmap_Source)) *0.1); 
     tamp = (((trial[1] - Tycoor[i])/(double)FINALBOXWIDTH(bitmap_Source)) *0.1); 


         } 
        } 
DecimalFormat df = new DecimalFormat("#.##"); 
rrdistance = rrdistance/(pqrst - 1); 
RRdistance = RRdistance + " " + rrdistance + " " + "seconds"; 
PRinterval = PRinterval + " " + printerval + " " + "seconds"; 
QSdistance = QSdistance + " " + qsdistance + " " + "seconds"; 
HeartRate = HeartRate + " " + heartrate + " " + "bpm"; 

Pamp = Pamp + " " + df.format(pamp) + " " + "mV"; 
Qamp = Qamp + " " + df.format(qamp) + " " + "mV"; 
Ramp = Ramp + " " + df.format(ramp) + " " + "mV"; 
Samp = Samp + " " + df.format(samp) + " " + "mV"; 
Tamp = Tamp + " " + df.format(tamp) + " " + "mV"; 

coordinate.setText("Peak coordinates:" + "\n" + P + "\n" + Q + "\n" + R1 + "\n" + S 
+ "\n" + T + "\n" + RRdistance + "\n" + PRinterval + "\n" + QSdistance + "\n" 
+ HeartRate + " "+ "\n" + "Amplitude of peaks:" + "\n" + Pamp + ";" + " " + Qamp + ";"  + " " + Ramp + ";" + " " + Samp + ";" + " " + Tamp + ";"); 

나는 heartrate, pamp, printerval 및 qsdistance를 사용할 예정입니다. 하나의 if 문에 이러한 모든 조건을 어떻게 작성합니까?

if (60 <= heartrate <= 100) && (0 <= pamp <= 0.25) && (0.12 <= printerval <= 0.20) && (0.04 <= qsdistance < 0.12) 

이러한 조건이 모두 충족되면 정상으로 표시됩니다. 그렇지 않으면, ABNORMAL.

하나의 if 문에 모든 것을 넣으려고했으나 오류가 표시됩니다. 이 일을하는 방법을 알아내는 데 도움이되기를 바랍니다. 고맙습니다!

+0

당신이 이러한 모든 방법이 있었습니까? 코드를 보여주십시오 ... – Renjith

+0

무엇을 의미합니까? – cookie23

답변

1
if (60 <= heartrate <= 100) 

실 거예요 작업은 100 부울에게 60 <= hearrate 반환 참 또는 거짓, 사용을 비교하기 때문에 :.

if (heartrate >=60 && heartrate <=100) 

등이 너무

if ((heartrate >= 60 && heartrate <= 100) && (pamp >= 0 && pamp <= 0.25) && (printerval >= 0.12 &&printerval <= 0.20) && (qdistance >= 0.04 && qsdistance < 0.12)){ 
} 
+0

위의 모든 조건을 하나의 if 문에 넣으려면 어떻게해야합니까? 목표는 모든 조건이 충족되면 정상입니다. 그렇지 않으면 그렇지 않습니다. – cookie23

+0

그래서 OP가 매우 가까웠으나, 각각의 값에'&& '를 사이에 넣으면 완전한 불린 표현식을'()'로 대신 사용해야합니다. – yoshi

+0

그냥 "in between"문이 가장 큰 문제라고 지적합니다. 그런 다음 모든 조건을() – Gjordis

2

그것은 다음과 같이 될 것이다 :

if ((heartrate >= 60) && (heartrate <= 100) && (pamp >=0) && (pamp <= 0.25) && (printerval >= 0.12) && (printerval <= 0.20) && (qsdistance >= 0.04) && (qsdistance < 0.12)) 
0

시도해보십시오. 추신 :

if ((60 <= heartrate) && (heartrate <= 100) && (0 <= pamp) && (pamp <= 0.25) && (0.12 <= printerval) 
&& (printerval <= 0.20) && (0.04 <= qsdistance) && (qsdistance < 0.12)) { 

    //Display NORMAL Here(use textview or Log whatever you want) 
} else { 
//Abnormal 
} 
+0

으로 바꿉니다. "토큰 구문 오류 &&, 예상 던졌습니다"라고 표시됩니다. @Android Killer – cookie23

+0

'('! '시도해보십시오. if ((...) – yoshi

+0

if() {} 안에 "NORMAL"을 어떻게 표시합니까? @yoshi – cookie23

0

시도해 보셨습니까?

if ((60 <= heartrate && heartrate <= 100) && (0 <= pamp && pamp <= 0.25) && (0.12 <= printerval && printerval <= 0.20) && (0.04 <= qsdistance && qsdistance < 0.12)) 
+0

if에 의해 평가되는 부울 표현식을'()'에 넣어야합니다. – yoshi

0

나는 겁이 조금 그래서 명확히하자 if 문 자바 문법을 따르지 않는 세 가지 답을보고 사실입니다.

if([boolean expresison]){ 
    [then block] 
} 

부울 표현은 5 > b, someArray.isEmpty()하거나 true 같은 간단한 테스트 할 수 있습니다. 또한 AND &&, OR || 또는 NOT !과 같은 논리 연산자를 사용하여 여러 개의 부울을 연결하고 하나의 표현식으로 평가할 수 있습니다. 예 :

if(foo && bar || !quix){ 
    return true; 
} 

당신은 ecnlosing () 숙박 의 손길이 닿지 않은에게 SE는!

If-then statements

0
if ((heartrate >=60 && heartrate <=100) && 
       (pamp >= 0 && pamp <= 0.25) && 
       (printerval >= 0.12 && printerval <= 0.20) && 
       (qsdistance >= 0.04 && qsdistance <= 0.04)) { 
      System.out.println("NORMAL"); 

     } else { System.out.println("ABNORMAL"); } 
+0

감사합니다. 하지만 어떻게 그것을 텍스트보기에 표시합니까? 그리고 나서 어느 줄을 써야할까요? @Sarath Kumar Sivan – cookie23

+0

는 if 내부의 sysout을 txtView.setText ("NORMAL")로 바꿉니다. 그렇지 않으면 txtView.setText ("ABNORMAL")로 차단하십시오. –

+0

이것이 맞습니까? 경우 ((60 <= 심박수 && 심박수 <= 100) && (0 <= PAMP && PAMP <= 0.25) && \t \t \t \t \t \t \t \t (0.12 <= printerval && printerval <= 0.20) \t && (0.04 <= qsdistance && qsdistance <0.12)) \t \t \t \t \t \t \t { \t \t \t \t \t \t result.setText는 ("결과가 정상!"); \t \t \t \t \t \t} 다른 \t \t \t \t \t \t { \t \t \t \t \t \t \t result.setText \t \t \t \t \t \t는 ("결과는 비정상이다!"); \t \t \t \t \t \t – cookie23