一盒星号内的钻石。 Java的数组程序,cmd

时间:2012-07-27 09:43:17

标签: java

输入数字:“”< - 如果我在这里输入7,输出将是7x7的星号框。但条件是在那个星号框内,有一个钻石。

*******
*** ***
**   **
*     *
**   **
*** ***
*******

使用数组的程序是什么? “import java.io。* ......”

1 个答案:

答案 0 :(得分:2)

我不会给出完整的代码,因为这看起来像是家庭作业,但这里是你可以使用的一种可能算法的概述。

对于网格中的每个位置(i, j),请从钻石中心计算Manhattan distance。如果超过钻石的“半径”,则打印*,否则打印一个空格。

如果钻石的中心是(x, y),则距离位置(i, j)的曼哈顿距离由以下公式给出:

int distanceFromCenter = Math.abs(x - i) + Math.abs(y - j);

请注意,如果您使用Euclidean distance而不是曼哈顿距离的公式,您将获得圆形而不是菱形,但可能很难看到这两种形状之间的差异为7x7分辨率。