2013-10-29 39 views
-3

我无法正确输出代码。除了空格部分之外,我已经得到了正确的结果(第一个嵌套for循环)。我无法正确输出金字塔代码

public class Practice { 

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

    public static void Top() { 
     for (int a = 1; a <= 5; a++) { 

      for (int b = 1; b <= 5; b++) { 
       System.out.print(" ");   
      } 

      for (int c = 1; c <= a; c++) { 
       System.out.print("/");    
      } 

      System.out.print("**"); 

      for (int d = 1; d <= a; d++) { 
       System.out.print("\\"); 
      } 
      System.out.println(); 
     } 
    } 
} 

所需的输出:

/**\ 
    //**\\ 
    ///**\\\ 
////**\\\\ 
/////**\\\\\ 
+6

什么是你试图做*和*,**你叫什么问题?** – jrd1

+0

你没有告诉我们应该做什么这样做,所以很难提供帮助。 – kviiri

+1

你是否想要用5代替“a”来绑定你的“空间”循环? – sdanzig

回答

0

更改行:

for (int b = 1; b <= 5; b++) { 

到:

for (int b = 1; b <= 5 - a; b++) { 
+0

非常感谢你,这是个诀窍!你能向我解释为什么这个工作的逻辑吗?我想了解我做错了什么。如果可以的话,我会鼓励你,但它说我没有足够的声誉 – EverythingAndNothing

+1

@一切都没有你可以“接受”答案而不是upvoting,因为你是问这个问题的人。这甚至比upvoting更好:-)看到这里:[如何接受答案?](http://meta.stackexchange.com/a/5235/236725) – jmiserez

+0

好吧,陷阱。谢谢你们俩! – EverythingAndNothing