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