我需要让三角形向右转

时间:2015-11-16 22:57:31

标签: java

好的所以这段代码使得三角形朝上,但我需要指向右边请帮助

public void five_a_pointUp (int num)
{
    System.out.print('\f');
    for (int x=1; x<=num; x += 2)
    {
        for (int y=0; y <= ((num - x)/2); y++)
        {
            System.out.print(" ");
        }
        for (int z=0; z<x; z++)
        {
           System.out.print("#");
        }
        System.out.println();
    }
}

我已经尝试过这段代码,但它以无限循环结束

{
    System.out.print('\f');
    for(int x=1; x<=num;x++)
    {
        for(int y=0; y<=x; x++)
        {
            System.out.print("#");
        }
    }
}

1 个答案:

答案 0 :(得分:0)

由于这是作业,我不能给你工作代码,但你应该设法用pseducodoce做得很好。让我们开始吧。

尝试将此问题拆分为较小的问题。例如,如果我们想要像这样打印三角形

#
##
###
####
###
##
#

让我们尝试创建将打印的代码

#
##
###
####

完成后,不要添加将打印的代码

###
##
#

所以我们的代码可以分为两种方法,如:

printUpperPart(n);
printLowerPart(n-1);//notice size of lower part compared to upper one

让我们暂时关注我们的上半部分。我们需要什么?

  • 循环,负责调用打印4行,
  • 并且在该循环中我们需要打印适当数量的#,因此我们需要另一个循环。

所以我们的代码看起来像

for (line in 1..n)
  for (hashPosition in 1..line)
    print one hash
  move to next line

现在尝试实现它,并在此基础上尝试找出下部的代码。