如何绘制ASCII直角三角形?

时间:2013-02-13 23:19:01

标签: java

这段代码有什么问题? 它似乎没有打印出任何东西

public void RTriangle(char appearance, int size)
    {
        for (int i = 0; i < size; i++)
        {
            for (int j = 0; j < i; j++)
            {
                System.out.println(appearance);
            }
            System.out.println();
        }
        System.out.println();
    }

3 个答案:

答案 0 :(得分:1)

public void print(final char appearance, final int size){
    for (int i = 1; i <= size; i++) {
        for (int j = size - i; j >0; j--)
            System.out.print(" ");
        for (int k = i; k > 0; k--)
            System.out.print(appearance);
        System.out.println();
    }
}

这应该按照指示进行。如果你想让我解释这个逻辑,请告诉我。

答案 1 :(得分:0)

我认为你的指数必须正确。例如:

for (int i = 0 ; i < size ; i++) { // count of rows
    for (int j = 0 ; j < size ; j++)
      System.out.print ((i < j) ? " " : appearance);
    System.out.println();
}

答案 2 :(得分:0)

public void RTriangle(char appearance, int size)
{
    for(int i=0;i<size;i++)
    {
        for(int j=0;j<size;j++)
        {
            if((size-j)<i) // the amount of * depents on i and it goes from the right to the left so use size -j
                System.out.print(""+appearance); //""+ turns the char into a string
        }
        System.out.println(); //append a line when your first line is done
    }
}
相关问题