数到x的数量然后在Java中停止?

时间:2015-11-12 12:55:00

标签: java

我正在Java类中执行任务,现在我被困在一个部分上一个星期。我有所有可能的错误和无限循环。

我试图以4的顺序显示数字,只显示500个数字。 下面的代码显示了我的尝试:

int add4 = 1;
int count500 = 1;
while (count500 <= 500)
{
    if (count500 == 101)
    {
        System.out.print(add4);
    }
    else
    {
        System.out.print(add4 + "," + "");
    }
    add4 = add4 + 4;             
}

此外,我被困在卢卡斯序列号上。我甚至不知道从哪里开始。感谢您对这些问题的帮助。

7 个答案:

答案 0 :(得分:2)

打印所需序列的最简单方法是for循环并打印循环变量的函数

System.out.print(1);
for (int i = 1; i < 500; ++i) {
    System.out.print("," + (4*i+1));
}

这也可以避免使用逗号

答案 1 :(得分:1)

最短的方式是:

for(int i = 1, j = 1; i <= 500; i += 1, j += 4)
     System.out.print("i = " + i + " j = " + j);

答案 2 :(得分:0)

重构为while (count500++ <= 500)。然后循环将正确终止。

那就是说,我更喜欢

的内容
for (int i = 0; i < /*ToDo - limit*/; ++i){
     System.out.print(i * 4); // ToDo - all your special whitespace.
}

从那时起,您将对迭代变量进行操作,这将减少错误的可能性,例如您拥有的错误。

答案 3 :(得分:0)

如果你没有增加count500的值,那么它将如何达到500? 在循环结束时添加count500++

答案 4 :(得分:0)

因为你的先决条件是count500 <= 500

,你陷入了循环

问题是你永远不会改变count500的价值。

我看到两种方法让你摆脱这个infinte循环:

1.-在循环中增加它:

          int add4 = 1;
          int count500 = 1;
          while (count500 <= 500)

            {
                if (count500 ==101)
                {
                  System.out.print(add4);
                }
                else
                {
                  System.out.print (add4 +"," +"");
                }
                add4 =add4 + 4;
                count500++;             
            }

2.-在你的时间做得正确:

while (count500++ <= 500)

在bove案例中,他将执行500次循环。

答案 5 :(得分:0)

这里你去:

int add4 = 0;

for (int i = 0; i > 500; i += 1) {
    System.out.println(add4);
    add4 += 4;
}

让我们打破它。

首先,我们将变量add4初始化为零,后来在for循环中,在打印后直接增加4。

然后,由于你只想要500次打印add4,你声明一个for循环,它将整数i初始化为零(int i = 0),然后告诉循环继续,而我小于500(i&gt; ; 500),最后告诉我每次循环时增加1(i + = 1)。

在循环中,add4正在打印出来,然后增加4。打印出的最后一个值应该是2000,但最后的add4值实际上应该是2004。

希望有所帮助。

答案 6 :(得分:0)

我不确定你要做什么,但试试这个:

public class TestSequence {
static final int AMOUNT_NEEDED = 500;
static final int INCREMENT = 4;
static final int UPPER_LIMIT = AMOUNT_NEEDED * INCREMENT;

public static void main(String[] args) {
   for( int numberMod4 =0; numberMod4< UPPER_LIMIT; numberMod4+=INCREMENT)
        System.out.println(numberMod4);}

}