如何用Java实现从右到左打印星号楼梯而非默认左对齐效果
右对齐星号楼梯实现方案
核心逻辑:右对齐楼梯每行的总字符数等于楼梯总高度size,当前行的星号数量等于行号row,因此每行先打印size - row个前置空格,再打印对应数量的星号即可实现需求。
调整后代码实现
你可以直接修改原有循环逻辑,复用已有的空格打印代码即可:
int row = 1; while (row <= size) { // 计算当前行需要的前置空格数 int spaceCount = size - row; // 打印前置空格 int space= 0; while (space < spaceCount) { System.out.print(" "); space = space + 1; } // 打印星号 printStars(row); // 换行处理 System.out.println(); row = row + 1; }
如果你已经将空格打印逻辑封装为类似printSpaces(int amount)的独立方法,代码可以简化为:
int row = 1; while (row <= size) { printSpaces(size - row); printStars(row); System.out.println(); row = row + 1; }
效果验证
以size=3为例,最终输出效果如下:
* ** ***
内容的提问来源于stack exchange,提问作者Yahhas
相关产品推荐
相关产品推荐

