java - 通过调用方法打印右对齐三角形

标签 java loops methods

美好的一天! 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);
    }
}

最佳答案

由于 i 始终大于 0,printTriangle() 方法永远不会结束。

此外,您的代码中没有 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);
    }

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

     *
    **
   ***
  ****

关于java - 通过调用方法打印右对齐三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40216164/

相关文章:

java - 接口(interface)指定方法

java - 包装默认的 servlet 但覆盖默认的 webapp 路径

java - 如何将 jzy3d 第三库中的聊天添加到 JFrame?

java - 将两个 ArrayList 中的数据写入 CSV

c++ - 在C++中乱序乘以 vector 中的数字

java - 在两个类的方法中写两个广度优先,现在卡住了,有建议吗?

java - 计算数组中某个元素出现的次数

c - 使用递归乘以幂

java - 我怎样才能 "delimit"来自给定字符串的整数?

node.js - 使用 Node.js 模块导出中定义的方法