【问题标题】:Printing Right-Aligned Triangle by Calling Methods通过调用方法打印右对齐三角形
【发布时间】:2016-10-24 10:29:48
【问题描述】:

美好的一天! Java编程新手。想就理解循环寻求一些帮助。该程序的目的是打印一个右对齐的三角形。我已经创建了用于打印“*”的方法和另一种用于“”(空白)的方法。我无法理解如何在我的主要方法中实现空格。谢谢!

预期输出:

"printTriangle(4);"

     *
    **
   ***
  ****

这是我的代码:

public class PrintingLikeBoss {

public static void printStars(int amount) {
    int i = 1;

    while (i <= amount) {
        System.out.print("*");
        i++;
    }
    System.out.println("");
}

public static void printWhitespaces(int amount) {
    int i = 1;

    while (i <= amount) {
        System.out.print(" ");
        i++;
   }
    System.out.println("");
}

public static void printTriangle(int size) {

    int i = 1;
    int j = 1;
    while (i >= 0) {
        printStars(size);
        i++;
        }
    }


    printTriangle(4);
    }
}

【问题讨论】:

标签: java loops methods


【解决方案1】:

printTriangle() 方法永远不会结束,因为i 总是大于 0。

您的代码中也没有 main 方法,因此您将无法运行它。

现在回答你的问题:

   public static void printTriangle(int size){
        int i = size;
        int j = 1;
        while(j<=i){
            printWhite(i-j);
            printStar(j);
            j++;
            System.out.println("");
        }
    }

    public static void printWhite(int size){
        int i = size;
        for(int j = 0; j<i; j++){
            System.out.print(" ");
        }
    }

    public static void printStar(int size){
        int i = size;
        for(int j = 0; j<i; j++){
            System.out.print("*");
        }

    }

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

这应该会为您提供如下输出:

     *
    **
   ***
  ****

【讨论】:

  • 你为什么要设置 i 的大小?
  • @Gilbert Le Blanc :在这种情况下将 i 设置为冗余大小,我同意,也可以使用变量大小本身。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-07
  • 1970-01-01
  • 2016-02-05
  • 2020-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多