我有一个代码可以找到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;
}
}
我不想要明确的答案。只是提出建议和/或提示来解决这个问题。
答案 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
并打印出来。
希望这有帮助