2015-10-08 96 views
-1

我给出了一个程序,它将从右到左打印一个直角三角形,就像楼梯一样,每个#之间都有一个空格。我已经写了一个答案,然后输出从左到右。我怎样才能改变印刷品?直角三角形的反转输出-java

这是我写:

/** 
* Created by User on 08/10/2015. 
*/ 
class Stars { 
    public static void main(String[] args) { 
     int row, numberOfHashes; 

     for (row = 1; row <= 6; row++) { 
      for(numberOfHashes = 1; numberOfHashes <= row; numberOfHashes++) { 
       System.out.print("\t" + "#"); 
      } 
      System.out.println(); // Go to next line 
     } 
    } 
} 

这是输出

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

我怎样才能让它在打印所以输出将从右peint到左,与1顶部和第6行的底部?

+0

我已经表明的努力,我写的原程序!当我将第二个循环翻转时,它说输出太多,IDE停止。如何编辑上面的代码以获得我想要的? – paul

+0

如果你想尝试并且很聪明,请用英文书写。谢谢! :) – paul

回答

2

添加到您的环 - ,打印空白需要

class Stars { 
    public static void main(String[] args) { 
     int row, numberOfHashes; 

     for (row = 1; row <= 6; row++) { 
      for(numberOfBlanks = 1; numberOfBlanks <= 6 - row; numberOfBlanks++) { 
       System.out.print("\t" + " "); 
      } 
      for(numberOfHashes = 1; numberOfHashes <= row; numberOfHashes++) { 
       System.out.print("\t" + "#"); 
      } 
      System.out.println(); // Go to next line 
     } 
    } 
} 
+1

该死,打我吧!即将打印几乎相同的答案! :) – Frecklefoot

+0

谢谢,有些人真正解决而不是呻吟!最佳答案。一个小小的观察,第一个循环中有一个错字,说numberOfHashes,但你已经解决了我的问题!谢谢。 – paul

+2

@paul - 修正了错字 –

2

您应该编写该打印空间的降序循环。 第一行打印5个空格。 第二行打印4个空格。打印散列之前 等等

+0

我不明白你的意思。你能告诉我吗? – paul

1
int dimension = 6; 
for(int i=1; i<=dimension; i++) { 
    for(int j=dimension-i; j>0; j--) { 
     System.out.print(" "); 
    } 
    for(int x=i; x>0; x--) { 
     System.out.print("# "); 
    } 
    System.out.println(); 
}