Java While循环生成序列1,2,0,3,-1,4

时间:2013-11-11 00:22:04

标签: java while-loop

我正在通过一本初学者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++;

我知道这不是我需要去的地方附近,但是我被困在想法中。

提前致谢。

5 个答案:

答案 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++;

这是一个错误的信息