查找五角形数字并将其打印10到10

时间:2015-10-26 23:49:48

标签: java

我有一个代码可以找到pentagonal numbers并将其打印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;


   }
}

我不想要明确的答案。只是提出建议和/或提示来解决这个问题。

1 个答案:

答案 0 :(得分: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并打印出来。

希望这有帮助