输入数字:“”< - 如果我在这里输入7,输出将是7x7的星号框。但条件是在那个星号框内,有一个钻石。
*******
*** ***
** **
* *
** **
*** ***
*******
使用数组的程序是什么? “import java.io。* ......”
答案 0 :(得分:2)
我不会给出完整的代码,因为这看起来像是家庭作业,但这里是你可以使用的一种可能算法的概述。
对于网格中的每个位置(i, j)
,请从钻石中心计算Manhattan distance。如果超过钻石的“半径”,则打印*
,否则打印一个空格。
如果钻石的中心是(x, y)
,则距离位置(i, j)
的曼哈顿距离由以下公式给出:
int distanceFromCenter = Math.abs(x - i) + Math.abs(y - j);
请注意,如果您使用Euclidean distance而不是曼哈顿距离的公式,您将获得圆形而不是菱形,但可能很难看到这两种形状之间的差异为7x7分辨率。