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

Java 使用for循环生成形式为2^n-1的整数,java,loops,sequences,Java,Loops,Sequences,我有一个任务,要求我在一个将输出此序列的方法内编写for循环: 1371531。。。255 我知道模式是将数字乘以2,然后再加上1(或者只是将2的指数加到每个数字上,这样1+2=3+4=7+8=15等等),但我不知道如何精确地生成一个循环,将输出序列一直到255 我想要一个例子或解释来指导我一点,我不想任何人给我确切的代码,我需要。以下是我迄今为止所做的工作: public static void methodOne() { for (int j = 1; j <= 255; j

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

1371531。。。255

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

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

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

    }
}
publicstaticvoidmethodone(){

对于(int j=1;j,正如您所指出的,顺序是将前面的数字翻倍并添加一个。只需让您的
for
循环这样的过程,并在每次迭代中打印数字:

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

for(int j=1;j正如howwork一样,将留给您一些思考:

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

为什么不使用
j=j*2+1
而不是
j*=2
?为了好玩,你可以使用
j*=1/j+2
;)对浮点型要小心谢谢你,我实际上没有想到。我在做j*=2+1的时候做了类似的事情,但结果只是变成了j*3(这很有意义,我没有把2和1分开,还有什么没有分开)我很感激,很抱歉我的家庭作业问题很简单,我是Java新手,我认为这比必须的要难。