首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >数字金字塔,无法将数字打印到左侧

数字金字塔,无法将数字打印到左侧
EN

Stack Overflow用户
提问于 2019-04-09 03:36:13
回答 1查看 106关注 0票数 -3

我需要一个完整的金字塔,但我只能得到它的右边。假设输出示例为4,如下所示:

代码语言:javascript
复制
    1
   212
  32123
 4321234

我对java for循环还是个新手,所以我试过做负增量,但是不起作用,有没有一种方法可以反向打印它呢?

代码语言:javascript
复制
import java.util.Scanner;
public class Pyramid {
    public static void main(String [] args) {
        System.out.println("Enter a number 1 to 15");
        Scanner input = new Scanner(System.in);
        int input1 = input.nextInt();
        if (input1 >= 1 && input1 <=15) {
            for(int column =1; column <input1; column++) {
                for(int row = 1; row < column; row++) {
                    System.out.print(row + " ");
                }
                System.out.print(column);
            System.out.println();
            }

        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-09 03:54:28

你需要更多的循环,而且你是逐行工作的,而不是一列一列地工作,所以外部循环应该使用row

内部循环用于:

  • 打印空格
  • 打印数字从1开始按降序排列(不包括)
  • 打印数字从1开始按升序排列

代码语言:javascript
复制
for(int row = 1; row <= input1; row++) {
    for(int space = 0; space < input1-row; space++) {
        System.out.print(" ");
    }
    for(int desc = row; desc > 1; desc--) {
        System.out.print(desc);
    }
    for(int asc = 1; asc <= row; asc++) {
        System.out.print(asc);
    }
System.out.println();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55580601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档