鱼友5852
2025-12-24
2025.12.24 1.不背单词70词 2.尚硅谷MySQL、JavaWeb 分享一个不用分成上下部分就能打印菱形/镂空菱形的方法 主要思路如下:(以9行9列为例) 1.首先将全部星星划分到一个9×9的格子中,横坐标0-8,纵坐标0-8 2.使用双重for循环,外层循环i控制纵坐标,内层循环j控制横坐标 规定:水平方向或垂直方向平移一格称之为走了一步 3.找到最中心的星星(center),从该星星的坐标出发到达任意个星星的步数不超过4(center),也就是行数的一半(取整) 横向步数:|j - center|,纵向步数:|j - center| 如果横向步数和纵向步数相加得到的步数不超过4,则打印星星 如果步数超过4,则打印空格 int line = 9; int center = line / 2; for (int i = 0; i < line; i++) { for (int j = 0; j < line; j++) { if (Math.abs(j - center) + Math.abs(i - center) <= center) { System.out.print("* "); } else { System.out.print(" "); } } System.out.println(); } 注意:如果打印镂空菱形将上面的判断条件改为等号(类比圆饼和圆环)
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP