这是我被分配的问题:
所谓的"星号"s是由下式定义的数:s = 6n(n-1)+ 1其中n是星号的索引.因此,前六个(即n = 1,2,3,4,5和6)星号是:1,13,37,73,121,181
相反,所谓的"三角形数"t是从1到n的数字之和:t = 1 + 2 + ... +(n-1)+ n.因此,前六个(即n = 1,2,3,4,5和6)三角形数字为:1,3,6,10,15,21
编写一个Java应用程序,该应用程序生成int类型的所有值的列表,这些值都是星号和三角形号.
解决此问题时,您必须编写并使用至少一个函数(例如
isTriangeNumber()或isStarNumber()或determineTriangeNumber()或determineStarNumber()).此外,您必须只使用此处提供的公式来解决问题.
tl; dr:需要输出星号和三角数的值.
不幸的是,我只能得到结果在无限循环中输出值'1',即使我在while循环中递增1.
public class TriangularStars {
public static void main(String[] args) {
int n=1;
int starNumber = starNumber(n);
int triangleNumber = triangleNumber(n);
while ((starNumber<Integer.MAX_VALUE)&&(n<=Integer.MAX_VALUE))
{
if ((starNumber==triangleNumber)&& (starNumber<Integer.MAX_VALUE))
{
System.out.println(starNumber);
}
n++;
}
}
public static int starNumber( int n)
{
int starNumber;
starNumber= (((6*n)*(n-1))+1);
return starNumber;
}
public static int …Run Code Online (Sandbox Code Playgroud)