2015-10-26 100 views
0

我有一个代码来找到pentagonal numbers并将它们打印10 10.但是我无法弄清楚如何打印除最终值以外的五边形数字。查找五角形数字并将它们打印10 10

public class Lab_6_1{ 
    public static void main (String[] args){ 


    System.out.println("Pentagonal Numbers are: "); 
    getPentagonalNumber(100); 
    } 

    public static int getPentagonalNumber(int n){ 


    int pentNum=((n*(3*n-1))/2); 
    final int numPerLine=10; 

    for(n=1;n<=100;n++) 
    { 
    System.out.print(" "+n); 
    if (n % 10==0) 
    System.out.print("\n"); 
    } 
    System.out.print(pentNum); 
    return pentNum; 


    } 
} 

我不想公然回答。只是建议和/或提示弄清楚。

+0

计算pentNum *里面*循环,而不是外部。它必须在循环的每一次迭代中改变。 – Prune

回答

0

你的整个逻辑并没有做到应该做的事情。我做了以下的变化和它按预期工作:

public static void main(String[] args) { 

    System.out.println("Pentagonal Numbers are: "); 
    getPentagonalNumber(100); 
} 

public static void getPentagonalNumber(int n) { 


    final int numPerLine = 10; 
    int pentNum; 

    for (int i = 1; i <= n; i++) { 
     pentNum = ((i * (3 * i - 1))/2); 
     System.out.print(" " + pentNum); 
     if (i % numPerLine == 0) 
      System.out.print("\n"); 
    } 

} 

正如你可以看到我已在for循环的一些变化,并计算pentNum为每次循环运行并打印出来。

希望这可以帮助

+0

谢谢你的帮助!它的工作 –

+0

@DarianLee很高兴帮助。 –

相关问题