我正在努力完成标题所说的内容。我不知道如何开始这个代码,除了知道它很可能必须有一个do-while循环,其中一个主体在'while'部分用括号括起来。我想理解这一点而不是直接回答,所以如果你能编写代码并解释或提供更多提示,如何做到这一点,将不胜感激! 输出需要如下所示:
1 (new line)
1 3 (new line)
1 3 5 (new line)
.. ... (new line)
.. ... ... (new line)
1 ... ... 999997 (new line)
1 ... ... 999997 999999
(不要让它显示每行增加1个奇数,所以我用“(新行)”表示我希望它现在更具可读性。)
好的,感谢新产品的澄清,我能写出来:
String line = "";
int start = 1;
for(;start <= 999999;)
do{
System.out.println(line);
start += 2;
line += " " + start;
}
while(start <= 999999);
但我遇到一个小问题,1没有出现在任何一行的开头。我忘记做什么了?
**解决。我在我的print语句中添加了1 +行,它按照我想要的方式运行。感谢所有试图提供帮助的人,尤其是新产品,即使我没有正确处理我的问题,我还需要新的东西。
答案 0 :(得分:1)
您可以将问题视为以下内容:
每个渐进线包括前一行的内容加上另一个奇数。因此,总是将前一行的内容存储在String变量中是很有意义的。
现在找到每个奇数,从数字1开始,每次加2,直到超过给定数字(在本例中为9999999999)。使用evens也可以做同样的事情 - 你只需要从2而不是1开始。
在do-while循环结构中,它看起来像这样(伪代码):
int lastnum = 1;
String prevLine = lastnum;
do while loop (999999 not passed)
{
PRINT(prevline + " " + (lastnum + 2));
lastnum += 2;
\\update the information stored in the previous line
prevLine += " " + lastnum;
}
实质上你想要:
1)从1开始。 2)打印上一行+新号码(对于第一个号码,前一行将为空白)。 3)更新上一行 4)继续步骤2-3,直到999999999通过。
答案 1 :(得分:0)
你可以使用for循环来开始
这是一个4循环的样本,它计算从1
到999
的奇数,包括
int n = 999;
for(int i=1; i<= n; i+=2)
{
}
也许你可以尝试将一个for循环放在另一个循环中,看看是否适合你。
答案 2 :(得分:0)
你可以采用渐进方法,它存储以前的结果并为它添加一个结果,从而为下一行创建结果,因为为每一行计算相同的东西不是一个好主意。