【发布时间】:2013-11-11 00:22:04
【问题描述】:
我正在阅读一本 Java 初学者书籍,其中包含一些可供尝试的练习题。我目前正在学习 while 循环,有一个问题我一直在坚持,并且在过去的两天里一直存在。
它要求我使用单个 While 循环打印出序列 1、2、0、3、-1、4 中的前十个数字。
我已经计算出了序列如何进行的简单位(加 1、取 2、加 3、取 4、加 5、取 6、加 7 等)但是我不知道如何实现这一点。
public class WhileTester {
public static void main(String[] args) {
System.out.println("First 10 numbers in the sequence 1, 2, 0, 3, -1, 4, -2 ...");
int i = 0;
while (i <= 6) {
int a = 1;
int num = i;
if (i % 2 == 0) {
num = -i;
} else {
num = i;
}
a = a + num;
System.out.print(a+ ", ");
i++;
我知道这离我要去的地方很近,但我一直在寻找想法。
提前致谢。
【问题讨论】:
-
好吧,你会如何在纸上做呢?这是一个健康的起点。
-
是的,我也想说——用纸和笔来思考。一旦逻辑下降,编码就变得微不足道。但你知道如何编码,,,
-
不应该是1、-1、2、-2、3等吗?
-
您的描述以 1 开头并加 1,因此系列是 1,2...您的代码以 0 开头,不打印初始值,因此它的 1,-1...。
-
没有序列是 1,2,0,3,-1,4,-2,5,-3,6。所以 1 (+1), 1 (-2), 0 (+3),3(-4), -1(+5), 4(-6),-2(+7),5(-8) ,-3(+9),6。感谢他们帮助我更好地理解问题。
标签: java while-loop