<prompt> andika kazi ya java inayotekelezea msimbo wa kijivu na kurudisha nambari inayofuata ya mlolongo baada ya nambari fulani katika mwelekeo fulani wa mzunguko.  <response>: Hapa kuna kazi ambayo hutoa nambari inayofuata ya Kijivu baada ya ile iliyotolewa, katika mwelekeo uliopeanwa wa kuzunguka: javapublic int nextGrayCodeint code, boolean clockwise int xor msimbo msimbo 1; kurudi kwa mwendo wa saa? xor : xor 0xAAA;Inafanya kazi na:XORing msimbo na toleo la kulia-shifted yenyewe - hii flips bits karibuKutumia kigezo cha mwendo wa saa kuchagua matokeo ya XOR, au matokeo hayo ya XORed na muundo ambao hugeuza vikundi vinavyopishana vya biti 4 hii hushughulikia kesi ya kuzunguka kwa kuzungusha kinyume cha saaKwa hivyo kwa mfano:nextGrayCode0, kweli; 1nextGrayCode1, kweli; 3nextGrayCode3, kweli; 2nextGrayCode2, kweli; 6nextGrayCode6, uongo; 7nextGrayCode7, uongo; 5Chaguo za kukokotoa hushughulikia uongezaji katika mwelekeo wowote, na kuzunguka kila mwisho wa mlolongo. 