我正在尝试获取此算术序列中的前1000个数字(1,4,7,10,...) 我必须使用while循环来完成它。我无法弄清楚如何设置计数器,所以我得到我的1000个数字;我做了这样的事情:
我是编程新手,没有太多经验,提前谢谢。
public static void main(String[]args) /* main Method */
{
int s = 1;
int sum = 3;
while ( s < 1000 )
{
s = s + sum;
System.out.println(s);
}
}
答案 0 :(得分:4)
只要这些值小于1000,您的代码就会打印这些值。不完全符合您的要求。
请改为尝试:
int s = 1;
System.out.println(s);
for (int i = 0; i< 999; i++)
{
s += 3;
System.out.println(s);
}
请注意,我也在循环外调用println
以确保输出s(1)的初始值;
修改强>
你需要使用while循环吗?好。试试这个 -
int s = 1;
int whileCounter = 0;
System.out.println(s);
while(whileCounter < 999)
{
s += 3;
System.out.println(s);
whilecounter++;
}
另请注意,我们第一次输出值时,我将计数变量减少了1到999,因此我们总共输出1000行。
答案 1 :(得分:1)
以下是更正后的代码段:
int s = 0;
int sum = 1;
while ( s < 1000 )
{
s++;
System.out.println(sum);
sum += 3;
}
在您的原始代码中,您将循环计数器与您的求和变量混淆;这两者应该是截然不同的。
答案 2 :(得分:0)
算术级数或序列是一个数字序列,使得连续项(d)之间的差是恒定的。在您的情况下,差异是3,序列中的第一个是1,并且您需要前1000个序列号。现在,为算术级数拟合公式:
a+(n-1)*d
对于您的问题,您具有以下条件:
a = 1;
d = 3;
您的解决方案的代码(使用Java)如下:
public class ArithProg {
public static void main(String[] args) {
int a = 1;
int n = 1;
int d = 3;
while ( n <= 1000 ) {
System.out.println(a+(n-1)*d);
n++;
}
}
}
这样做的好处是,您可以更改“ a”和“ d”的值,并在算术级数中获得n个数字的序列。希望这会有所帮助。