Schreibe eine Java-Funktion, die Gray-Code implementiert und den nächsten Sequenz-Code nach einem gegebenen Code in einer gegebenen Rotationsrichtung zurückgibt
Hier ist eine Funktion, die den nächsten Gray-Code nach dem gegebenen in der angegebenen Rotationsrichtung generiert:
```java
public int nextGrayCode(int code, boolean clockwise) {
    int xor = code ^ (code >> 1);
    return clockwise ? xor : xor ^ 0xAAAAAAAA;
}
```
Es funktioniert durch:

XORing des Codes mit einer rechtsverschobenen Version von sich selbst - dadurch werden benachbarte Bits umgedreht
Verwenden des clockwise-Parameters, um entweder das Ergebnis des XOR oder das Ergebnis XORed mit einem Muster auszuwählen, das abwechselnde Gruppen von 4 Bits umdreht (dies behandelt den Fall des "Umschlagens" für gegen den Uhrzeigersinn Rotation)

Also zum Beispiel:
nextGrayCode(0, true);  // 1
nextGrayCode(1, true);  // 3
nextGrayCode(3, true);  // 2
nextGrayCode(2, true);  // 6
nextGrayCode(6, false); // 7
nextGrayCode(7, false); // 5


Die Funktion behandelt das Inkrementieren in beide Richtungen und das Umschlagen an beiden Enden der Sequenz.