1

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 + ";");

心拍数、pamp、printerval、qsdistanceを使用します。これらすべての条件を1つのifステートメントに書き込むにはどうすればよいですか?

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

これらの条件がすべて満たされると、NORMALが表示されます。それ以外の場合、異常です。

これらすべてを1つのifステートメントに入れてみましたが、エラーが表示されます。私がこれを行う方法を理解するのを手伝ってくれることを願っています。ありがとうございました!

4

6 に答える 6

2

次のようになります。

 if ((heartrate >= 60) && (heartrate <= 100) && (pamp >=0) && (pamp <= 0.25) && (printerval >= 0.12) && (printerval <= 0.20) && (qsdistance >= 0.04) && (qsdistance < 0.12))
于 2013-02-25T07:14:07.257 に答える
2
if (60 <= heartrate <= 100)  

ブール値を 100 と比較するため、機能しません。True60 <= hearrateまたは False を返します。次を使用します。

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)){
}
于 2013-02-25T07:13:23.427 に答える
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
}
于 2013-02-25T07:14:28.137 に答える
0

これを試しましたか?

if ((60 <= heartrate && heartrate <= 100) && (0 <= pamp && pamp <= 0.25) && (0.12 <= printerval && printerval <= 0.20) && (0.04 <= qsdistance && qsdistance < 0.12))
于 2013-02-25T07:14:34.103 に答える
0

ステートメントの Java 構文に従っていない 3 つの回答を見ると、実際には少し怖いifので、明確にしましょう。

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

5 > bブール式は、someArray.isEmpty()や のような単純なテストにすることができますtrue&&AND 、 OR ||、 NOTなどの論理演算子を使用!して、複数のブール値を連鎖させ、それを 1 つの式に評価することができます。例えば

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

あなたは手付かず()のままでいるのを見てください!

If-then ステートメント

于 2013-02-25T07:25:07.470 に答える
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"); }
于 2013-02-25T07:25:17.727 に答える