用于循环算法用字符打印直角三角形

时间:2016-09-29 00:23:22

标签: java algorithm console

尝试打印以控制文本isoscles三角形的任意大小,如下所示:

Image

之前我已经完成了这样的转换算法,但事实上它的绘制只是形状轮廓让我循环。三角形边作为int leg存储在类中,到目前为止,这是我在创建算法时可以想到的全部内容。

for (int i = 0; i < leg - 1; i++){
}

非常感谢任何帮助。感谢

2 个答案:

答案 0 :(得分:1)

如果你在文本中描述每一行是什么,你会看到有三种模式,中间模式需要一个循环:

o         1 'o' character
oo        2 'o' characters, separated by 0 spaces
o o       2 'o' characters, separated by 1 space
o  o      2 'o' characters, separated by 2 spaces
o   o     2 'o' characters, separated by 3 spaces
oooooo    6 'o' characters

打印X空间需要第二个循环,内部到中间模式循环。

打印X 'o'个字符需要第三个循环。

答案 1 :(得分:0)

正如安德烈亚斯指出的那样,根据你需要的空间来循环似乎最容易:

public class f {

    static void g(int n){
        if(n>1){
            System.out.println("o");
            String spaces = "";
            for(int i=0;i<n-2;i++){
                System.out.println("o"+spaces+"o");
                spaces+=" ";
            }
            for(int i=0;i<n;i++) System.out.print("o");
        }
        else System.out.println("o");
    }


    public static void main(String[] args) {
        g(6);
    }
}