2013-02-25 2 views
1

Мне интересно, как написать несколько условий в Java.Несколько, если условия в Java

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) 

Если все эти условия выполнены, то он будет отображаться НОРМАЛЬНЫМ. Else, 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

Просто указывая, что заявление «между ними» является самой большой проблемой. , а затем просто оберните каждое условие с помощью() – 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

Попробуйте, если это будет hel ps:

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

Отсутствует '('! Try' if ((... ' – yoshi

+0

Как отобразить« НОРМАЛЬНЫЙ »внутри if() {}? @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

Я на самом деле немного страшно видеть три ответа не следующий синтаксис Java для if заявления так давайте проясним.

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

Логическое выражение может быть простой тест, как 5 > b, someArray.isEmpty() или просто true. Кроме того, вы можете использовать логические операторы, такие как AND &&, OR || или NOT !, чтобы связывать несколько булевых элементов и оценивать их одним выражением. Например.

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

Вы С.Е. ecnlosing () ПРИБЫВАНИЯ нетронутым!

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

Спасибо. Но как мне отобразить это в textView? И после какой строки я должен это поставить? @Sarath Kumar Sivan – cookie23

+0

замените sysout внутри if с помощью txtView.setText ("NORMAL"); и еще заблокировать с помощью txtView.setText ("ABNORMAL"); –

+0

Правильно ли это? если ((60 <= HeartRate && HeartRate <= 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 \t \t \t \t \t \t result.setText ("Результат ненормально!"); \t \t \t \t \t \t} – cookie23

Смежные вопросы