Processing communication with 4 hc-sr04

i have 4 Hc-sr04 sensor
i use newping library

i try to printnl the data in processing

I don’t know what i did wrong
i have number in processing but not the good one and they repeat for ever.

s1_101 s2_110 s3_115 s0_111
s1_114 s2_50 s3_58 s0_32
s1_48 s2_99 s3_109 s0_13
s1_10 s2_115 s3_101 s0_110
s1_115 s2_111 s3_114 s0_51
s1_58 s2_32 s3_48 s0_99
s1_109 s2_13 s3_10 s0_115
s1_101 s2_110 s3_115 s0_111

arduino

#include <NewPing.h>
#define TRIGGER_PIN1  2  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN1     3  // Arduino pin tied to echo pin on the ultrasonic sensor.
#define TRIGGER_PIN2  4  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN2     5
#define TRIGGER_PIN3  6  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN3     7
#define TRIGGER_PIN4  8  // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN4     9

#define MAX_DISTANCE  30 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm.

NewPing sonar0(TRIGGER_PIN1, ECHO_PIN1, MAX_DISTANCE); // NewPing setup of pins and maximum distance.
NewPing sonar1(TRIGGER_PIN2, ECHO_PIN2, MAX_DISTANCE);
NewPing sonar2(TRIGGER_PIN3, ECHO_PIN3, MAX_DISTANCE);
NewPing sonar3(TRIGGER_PIN4, ECHO_PIN4, MAX_DISTANCE);

int inByte = 0; // incoming serial byte

void setup() {
  Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results.
  while (!Serial) {
 ; // wait for serial port to connect. Needed for Leonardo only
 }

  establishContact(); // send a byte to establish contact until receiver
  // responds

}

void loop() {
  if (Serial.available() > 0) {
inByte = Serial.read();
    
    int d = 500;
    delay(d);                      // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
    int uS0 = sonar0.ping(); // Send ping, get ping time in microseconds (uS).
    Serial.print("sensor0: ");
    Serial.print(sonar0.convert_cm(uS0)); // Convert ping time to distance and print result (0 = outside set distance range, no ping echo)
    Serial.println("cm");

    delay(d);                      // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
    int uS1 = sonar1.ping(); // Send ping, get ping time in microseconds (uS).
    Serial.print("sensor1: ");
    Serial.print(sonar1.convert_cm(uS1)); // Convert ping time to distance and print result (0 = outside set distance range, no ping echo)
    Serial.println("cm");

    delay(d);                      // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
    int uS2 = sonar2.ping(); // Send ping, get ping time in microseconds (uS).
    Serial.print("sensor2: ");
    Serial.print(sonar2.convert_cm(uS2)); // Convert ping time to distance and print result (0 = outside set distance range, no ping echo)
    Serial.println("cm");

    delay(d);                                 // Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings.
    int uS3 = sonar3.ping(); // Send ping, get ping time in microseconds (uS).
    Serial.print("sensor3: ");
    Serial.print(sonar3.convert_cm(uS3)); // Convert ping time to distance and print result (0 = outside set distance range, no ping echo)
    Serial.println("cm");

   // Serial.write(sonar0);
   // Serial.write(sonar1);
   // Serial.write(sonar2);
   // Serial.write(sonar3);

  }
}
void establishContact() {
 while (Serial.available() <= 0) {
 Serial.print('A'); // send a capital A
 delay(300);
 }

}

processing

import processing.serial.*;

Serial myPort;                       // The serial port
int[] serialInArray = new int[4];    // Where we'll put what we receive
int serialCount = 0;                 // A count of how many bytes we receive
int sensor0,sensor1,sensor2,sensor3; 
//int sensor1;
//int sensor2; 
//int sensor3; // Sensor
boolean firstContact = false;        // Whether we've heard from the microcontroller

void setup() {
  size(256, 256);  // Stage size
  noStroke();      // No border on the next thing drawn
  // Print a list of the serial ports, for debugging purposes:
  //println(Serial.list());

  // I know that the first port in the serial list on my mac
  // is always my  FTDI adaptor, so I open Serial.list()[0].
  // On Windows machines, this generally opens COM1.
  // Open whatever port is the one you're using.
  String portName = Serial.list()[2];
  myPort = new Serial(this, portName , 115200);
  //"/dev/cu.wchusbserialfa140"
}

void draw() {
  background(000000);
}

void serialEvent(Serial myPort) {
  // read a byte from the serial port:
  int inByte = myPort.read();
  // if this is the first byte received, and it's an A,
  // clear the serial buffer and note that you've
  // had first contact from the microcontroller. 
  // Otherwise, add the incoming byte to the array:
  if (firstContact == false) {
    if (inByte == 'A') { 
      myPort.clear();          // clear the serial port buffer
      firstContact = true;     // you've had first contact from the microcontroller
      myPort.write('A');       // ask for more
    }
  } else {
    // Add the latest byte from the serial port to array:
    serialInArray[serialCount] = inByte;
    serialCount++;

    // If we have 3 bytes:
    if (serialCount > 3 ) {
      sensor0 = serialInArray[0];
      sensor1 = serialInArray[1];
      sensor2 = serialInArray[2];
      sensor3 = serialInArray[3];

      // print the values (for debugging purposes only):
      println ( " s0_"+ sensor0);
      print ( " s1_"+ sensor1);
      print ( " s2_"+ sensor2);
      print ( " s3_"+ sensor3);

      // Send a capital A to request new sensor readings:
      myPort.write('A');
      // Reset serialCount:
      serialCount = 0;
    }
  }
}

if (serialCount > 3 ) { sensor0 = serialInArray[0]; sensor1 = serialInArray[1]; sensor2 = serialInArray[2]; sensor3 = serialInArray[3];

Perhaps you ought to print, in Processing, what you have actually read. If the distances are 10,12,18, and 6, you are sending "sensor0: 10cmsensor1: 12cmsensor2: 18sensor3: 6cm".

Now, how can you expect to have anything meaningful happen when you assign 's' to sensor0, 'e' to sensor1, 'n' to sensor2, and 's' to sensor3?