2012-10-08 88 views
-2

我应该写一个嵌套循环,输出以下:for循环的Java ...创建金字塔

    1 
       1 2 1 
      1 2 4 2 1 
      1 2 4 8 4 2 1 
     1 2 4 8 16 8 4 2 1 
    1 2 4 8 16 32 16 8 4 2 1 
1 2 4 8 16 32 64 32 16 8 4 2 1 

我应该使用两种方法。

主要方法只应该从用户获取所需的行数。 我应该写称为printPyramid另一种方法是:

  1. 拥有的行数
  2. 打印与行数
  3. 没有返回值金字塔。

到目前为止,我有:

import java.util.Scanner; 

    public class Pyramid { 


    //Getting number of rows, calling printPyramid in main method 

    public static void main(String[] args) { 

    Scanner input = new Scanner(System.in); 

    //Get user input = number of lines to print in a pyramid 
    System.out.println("Enter the number of lines to produce: "); 
    int numLines = input.nextInt(); 

    //call method: 
    printPyramid(); 

    }//End of main method 

    //Making a new method... 

    public static void printPyramid (int numLines) { 

    int row; 
    int col; 

    row = 0; 
    col = 0; 

     for (row = 1; row <= numLines; row++){ 
      //print out n-row # of spaces 
      for (col = 1; col <= numLines-row; col++){ 
       System.out.print(" "); 
      } 

      //print out digits = 2*row-1 # of digits printed 
      for (int dig= 1; dig <= 2*row-1; dig++){ 
       System.out.print(row + " "); 
      } 

     System.out.println(); 
     }//end of main for loop 

    }//end of printPyramid 

    }//end of class 

我得到的错误,我无法弄清楚如何得到它正确地打印出来。 我相信方法搞砸了?

+2

你能发表你的错误吗?如果你对此一无所知,那么很难解决一个错误。 **和**是这个作业吗? – elyashiv

+1

*我收到错误... *您有什么错误? – Pigueiras

+0

请打破你的问题是具体的,显示与任何相关的代码和调试错误打破的单个功能/隔间 – Ozzy

回答

-1

这里有两个大错误。首先,与Java的所有是类,所以你必须把方法内的类。例如:

public class Anything { 
    public static void main ... 

    public static void printPyramid ... 
} 

第二个,你要调用主内的方法printPyramid,因为如果不首先把它称为不会被执行。

public class Anything { 
    public static void main ... { 
     ... 
     printPyramid (numLines); 
     ... 
    } 

    public static void printPyramid ... 
} 

我希望这些小的迹象可以帮助你。

+0

非常感谢!我把它降低到只有1个错误... 'Pyramid.java:28:错误:类金字塔方法printPyramid不能应用于给定类型;' 'printPyramid();'' 要求:int' '发现:没有参数' '原因:实际和形式参数列表长度不同' – user1368970

+0

@ user1368970这仅仅是一个例子,你必须用int作为参数调用'printPyramid'。这个错误向你解释:'required:int found:no arguments' – Pigueiras