Troubles using "Serial." library

Could you be more specific please?

The Serial.available() function returns the number of bytes waiting to be read. As soon as it reports that there is one byte available, you proceed to read 24 values. That causes most of the reads to fail, returning -1, which you treat as good data.

There is nothing hard to understand about that, is there?