【问题标题】:How To List Numbers on a Reverse Triangle on Java如何在 Java 中列出倒三角形上的数字
【发布时间】:2016-11-13 04:44:32
【问题描述】:

如何使用 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("");
    }
}

【问题讨论】:

    标签: java loops for-loop nested


    【解决方案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

    类名应该是名词,大小写混合 每个内部单词都大写。

    【讨论】:

    • 所以在打印输出上我需要输入 " " + (6 - i) ...。它可以工作,但代码看起来很奇怪。我决定用 n 替换 6 ,这样会更好。我必须把这个记在笔记上。谢谢:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多