我正在通过一本初学者java书籍,其中包含一些练习题。我目前正在学习循环,并且有一个问题我被困在过去两天。
要求我使用单个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++;
我知道这不是我需要去的地方附近,但是我被困在想法中。
提前致谢。
答案 0 :(得分:1)
我认为你的序列错了,看看数字: 它从1开始,然后是+1,-2 +3 -4 +5 ......
也许这有助于您的实施。
答案 1 :(得分:0)
每次迭代都会在循环内设置为1。不应该在循环外进行初始化吗?
答案 2 :(得分:0)
令我感到震惊的是,你更接近解决方案而不是自己给予信任。
如果您使用num
并将其移出循环....
然后,每次循环时将{1}加1:
在“偶数”循环上添加num
,在奇数循环上减去num
。现在,你需要循环10次(直到值为6 ......这是'巧合'......):
您的关键代码变为:
num
答案 3 :(得分:0)
公共类测试人员{
public static void main(String[] args) {
System.out.println("First 10 numbers in the sequence 1, 2, 0, 3, -1, 4, -2 ...");
int num = 0;
int a = 1;
int value = 0;
while (value <= 10) {
if (value % 2 == 0) {
num = -value;
} else {
num = value;
}
a = a + num;
System.out.print(a + ", ");
value++;
}
}
}
答案 4 :(得分:-1)
类无法为程序编译: -
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++;
这是一个错误的信息