数字对称阶梯金字塔代码实现求助:输出结果不符合预期
修正数字阶梯金字塔代码以匹配预期输出
你已经搞定了金字塔的空格对齐框架,问题核心出在数字序列的输出逻辑上——原代码只实现了递增序列,而你需要的是先递增到当前行数对应数值,再递减回1的结构(第一行特殊处理为单独的1)。
修正后的代码
int i = 1; while(i <= 6){ // 保留原有的空格逻辑,确保金字塔右对齐 for(int j = 1;j <= 6-i;j++){ System.out.print(" "); } // 分情况输出数字序列 if(i == 1){ // 第一行仅输出单个1 System.out.print("1"); } else { // 第一步:从2递增到当前行数i for(int m = 2; m <= i; m++){ System.out.print(m + " "); } // 第二步:从i-1递减回1 for(int m = i-1; m >= 1; m--){ System.out.print(m + " "); } } i++; System.out.println(); }
关键调整说明
- 空格对齐:保留了你原有的
6-i空格循环,确保每一行开头的空格数正确,让金字塔整体右对齐。 - 第一行特殊处理:因为预期第一行只有单独的
1,所以用if(i == 1)单独输出,避免多余的空格或数字。 - 递增+递减组合:对于第2到第6行,先通过循环从
2递增到当前行数i,再从i-1递减回1,完全匹配你想要的数字阶梯结构。
实际运行输出(修正了你预期中的笔误)
1 2 1 2 3 2 1 2 3 4 3 2 1 2 3 4 5 4 3 2 1 2 3 4 5 6 5 4 3 2 1
内容的提问来源于stack exchange,提问作者Rpro
相关产品推荐
相关产品推荐

