有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

使用for循环生成形式为2^n 1的整数的java

我有一个任务,要求我在一个将输出此序列的方法内编写for循环:

1 3 7 15 31 ... 255

我知道模式是将数字乘以2,然后再加上1(或者只是将2的指数加到每个数字上,这样1+2=3+4=7+8=15等等),但我不知道如何精确地生成一个循环,将输出序列一直到255

我想要一个例子或解释来指导我一点,我不想任何人给我确切的代码,我需要。以下是我迄今为止所做的工作:

public static void methodOne() {
    for (int j = 1; j <= 255; j *= 2) {

    }
}

我尝试在上面的for循环中使用另一个for循环,但效果不好,我不确定这样做是否正确。我基本上想取j,将它乘以2,然后加1,得到序列中的下一个数字


共 (2) 个答案

  1. # 1 楼答案

    正如您所指出的,顺序是将前面的数字加倍,然后再加上一个。只要让你的for循环像这样进行,并在每次迭代中打印数字:

    for (int j = 1; j <= 255; j = (j * 2) + 1) {
        System.out.println(j);
    }
    
  2. # 2 楼答案

    正如Howwork一样,它会留给你一些思考:

    for x in 2:8 range
    result = 2^x -1