Java 如何显示数字

Java 如何显示数字,java,input,numbers,Java,Input,Numbers,我刚开始用Java编写代码,我在编写这个程序时遇到了困难 用户输入一个从0到9的整数,并显示一个金字塔。例如: 用户输入:5 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 这就是我到目前为止所拥有的一切(我真的被难住了) 导入静态java.lang.System.

我刚开始用Java编写代码,我在编写这个程序时遇到了困难

用户输入一个从0到9的整数,并显示一个金字塔。例如:

用户输入:5

                      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
这就是我到目前为止所拥有的一切(我真的被难住了)

导入静态java.lang.System.*;
导入java.util.Scanner'
导入java.util.*;
公共阶层金字塔
{
公共金字塔
{
扫描仪扫描=新扫描仪(System.in);
System.out.println(“输入一个介于1和20之间的数字”);
int num=scan.nextInt();
对于(int i=0;i
欢迎并感谢您的帮助。谢谢

package.com公司;
package com.company;

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        pyramid();
    }

    public static void pyramid() {
        Scanner scan = new Scanner(System.in);
        System.out.println("enter a number between 1 and 20");
        int num = scan.nextInt();

        for (int i = 0; i < num + 1; i++) {
            for (int j = 0; j < num - i; j++) {
                System.out.print("  ");
            }
            for (int j = i; j > 0; --j) {
                System.out.printf("%d ", j);
            }
            for (int j = 2; j <= i; ++j) {
                System.out.printf("%d ", j);
            }
            System.out.println();
        }
    }
}
导入java.util.Scanner; 公共班机{ 公共静态void main(字符串[]args){ 金字塔(); } 公共静态无效金字塔(){ 扫描仪扫描=新扫描仪(System.in); System.out.println(“输入一个介于1和20之间的数字”); int num=scan.nextInt(); 对于(int i=0;i0;--j){ System.out.printf(“%d”,j); }
对于(int j=2;j开始将您知道的内容制成表格,以找到一种模式。假设您的高度为3:

······_1
···_2 _1 _2
_3 _2 _1 _2 _3
其中,
·
是一个用于对齐的空格,
是为第二个数字保留的空格

Row                 0  1  2
Spaces in front     6  3  0      (3 * (num - i - 1))

因此,您需要循环
j
以打印该数量的空格,然后进行另一个循环(不是在
j
内,而是在它之后)要将降序数字打印到
1
,然后另一个循环将升序数字打印回
i+1
。使用
System.out.printf
格式
%2d
将在单个数字上打印
空格。

金字塔是否需要像您的示例中那样向右弯曲?不,任何方向都是fine!只要打印的内容(不管金字塔作为一个整体的间距)是相同的。
Row                 0  1  2
Spaces in front     6  3  0      (3 * (num - i - 1))