車の修理について何も尋ねませんでした。
謝罪いたします。灰色のコードを実装し、特定の回転方向の特定のコードの後に次のシーケンスコードを返すためのJava関数は次のとおりです。

Java：
java.util.listをインポートします。
java.util.arraylistをインポートします。

パブリッククラスのグレーコード{
  
  public static list <integer> graycode（int n）{
    List <Integer> result = new ArrayList <>（）;
    result.add（0）;
    for（int i = 0; i <n; i ++）{
      int size = result.size（）;
      for（int j = size-1; j> = 0; j-）{
        result.add（result.get（j）| 1 << i）;
      }
    }
    返品結果;
  }
  
  public static int next sequencecode（int code、int direction、int n）{
    List <Integer> GrayCodes = GrayCode（n）;
    int index = graycodes.indexof（code）;
    if（方向== 1）{
      if（index == graycodes.size（）-1）{
        GrayCodes.get（0）を返します。
      } それ以外 {
        GrayCodes.getを返す（index + 1）;
      }
    } それ以外 {
      if（index == 0）{
        return graycodes.get（graycodes.size（） -  1）;
      } それ以外 {
        GrayCodes.getを返す（index -1）;
      }
    }
  }
}

グレーコード関数は、特定の数のビットnに対してグレーコードのシーケンスを生成します。次のsequenceCode関数は、指定された方向の指定された方向に特定のコードコードの後に次のシーケンスコードを返します。方向引数は、時計回りの場合は1、反時計回りの場合は-1でなければなりません。