如何在Java上的反向三角形上列出数字

时间:2016-11-13 04:44:33

标签: java loops for-loop nested

如何使用for循环打印出列出数字的三角形。到目前为止,我设法成功打印出来:

1  X
2  X X
3  X X X
4  X X X X
5  X X X X X

我的下一个作业是相同的,除了我必须打印" X"用户以相反的顺序,如下所示:

1  X X X X X
2  X X X X
3  X X X
4  X X
5  X

我设法让我的代码打印三角形,但数字不在正确的位置。打印输出是这样的:

  5
 X X X X X  4
 X X X X  3
 X X X  2
 X X  1
 X  0

我有什么不对劲吗?我还需要做些什么吗?这是我目前的代码:

public class problem4
{
    private static Scanner input;
    public static void main(String[] args)  
    {
        input = new Scanner(System.in);
        System.out.print("Enter a Number: ");
        int n = input.nextInt();
        for (int i = n; i >= 0; i--)
        {
            System.out.println("  " + i);
            for (int j = i; j > 0; j--)
            {
                System.out.print(" X");
            }
        }
        System.out.println("");
    }
}

1 个答案:

答案 0 :(得分:1)

像这样修改你的代码:

import java.util.Scanner;

public class problem4
{
    private static Scanner input;
    public static void main(String[] args)  
    {
        input = new Scanner(System.in);
        System.out.print("Enter a Number: ");
        int n = input.nextInt();
        for (int i = n; i > 0; i--)
        {
            System.out.print("  " + (n + 1 - i));
            for (int j = i; j > 0; j--)
            {
                System.out.print(" X");
            }
            System.out.println();
        }

    }
}

除此之外,请关注java naming conventions

  

类名应该是名词,混合大小写的第一个字母   每个内部词都大写。