It's pretty hard to write Java code for that; the reason is that what you have there specifies what the output looks like but there's nothing which specifies what your input looks like. The Java code you want would convert your input into that output format, right?
Anyway let me just throw this out: that spec numbers the bits in a byte in such a way that bit 8 is the most significant bit and bit 1 is the least significant bit. But when Java programmers are talking about bit-fiddling, they usually say that the most significant bit is bit 0 and the least significant bit is bit 7. Now you might think this is trivial, it doesn't matter what we call the bits just so long as we put the right things in the right bits. Which is true. But it's possible that your customer is expecting the bits in the opposite order from which you're sending them.
Have a look at the Wikipedia article Bit numbering
and in particular the paragraph headed "Most Significant Bit First vs Least Significant Bit First".
On the other hand it might just be that you made a small error in one place. No feedback from the customer about what's wrong?