Enter number: " " <- ここに 7 を入力すると、出力は 7x7 ボックスのアスタリスクになります。しかし、状態はそのアスタリスクの箱の中にダイヤモンドがあります。
*******
*** ***
** **
* *
** **
*** ***
*******
配列を使用するためのプログラムは何ですか? 「java.io.*をインポート......」
Enter number: " " <- ここに 7 を入力すると、出力は 7x7 ボックスのアスタリスクになります。しかし、状態はそのアスタリスクの箱の中にダイヤモンドがあります。
*******
*** ***
** **
* *
** **
*** ***
*******
配列を使用するためのプログラムは何ですか? 「java.io.*をインポート......」
これは宿題のように見えるため、完全なコードは示しませんが、使用できる 1 つのアルゴリズムの概要を次に示します。
(i, j)
グリッド内の各位置について、ダイヤモンドの中心からのマンハッタン距離を計算します。ダイヤモンドの「半径」を超える場合は、それ以外の*
場合はスペースを出力します。
ダイヤモンドの中心が(x, y)
マンハッタンである場合、その位置までの距離(i, j)
は次の式で与えられます。
int distanceFromCenter = Math.abs(x - i) + Math.abs(y - j);
マンハッタン距離の代わりにユークリッド距離の式を使用すると、ダイヤモンドの代わりに円が得られることに注意してください。ただし、7x7 の解像度でこれら 2 つの形状の違いを確認するのは難しい場合があります。