2016-09-29 88 views
0

试图打印到控制台文字isoscles任意大小的三角象下面这样:For循环算法打印直角三角形,字符

Image

我已经做了改造算法,如在此之前,但事实上其绘图只是形状轮廓扔我循环。三角形边以int leg的形式存储在类中,到目前为止,这是我在创建算法时可以想到的。

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

任何帮助,非常感谢。由于

+3

提示:你需要两个循环 –

+0

可怕的袋熊,我假定为多,但我挣扎,决定什么为循环做。 – cobes

+2

右 - 第一个循环为垂直,第二个为水平 –

回答

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'字符需要第三个循环。

+0

谢谢安德烈亚斯。实际上我试图让它看起来像这样。 – cobes

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); 
    } 
}