Java 增值

Java 增值,java,netbeans,Java,Netbeans,我有一个问题,如何使值像b=0,然后下一个b=1,然后b=3那样递增 我的代码正在打印111,但是我想要的输出是123,我也尝试过b=b+1;但打印输出也是111 for(int x=0;x<3;x++){ int b=0; b++; b=b+b++; System.out.print(b); } for(int x=0;x在循环之前声明b。在循环中递增。类似 int b = 1; for (int x = 0; x < 3; x++) {

我有一个问题,如何使值像b=0,然后下一个b=1,然后b=3那样递增

我的代码正在打印111,但是我想要的输出是123,我也尝试过b=b+1;但打印输出也是111

for(int x=0;x<3;x++){
    int b=0;
    b++;
    b=b+b++;
    System.out.print(b);
}

for(int x=0;x在循环之前声明
b
。在循环中递增。类似

int b = 1;
for (int x = 0; x < 3; x++) {
    System.out.print(b++);
}
或者完全消除
b
,然后使用
x
。例如

for (int x = 0, b = 0; x < 3; x++) {
    System.out.print(++b);
}
for (int x = 1; x <= 3; x++) {
    System.out.print(x);
}

for(intx=1;x在您的代码中,您在每次迭代中设置
b=0

因此,在所有3次迭代中,变量b的值都是相同的

将其置于循环之外以获得所需的结果

例如:

int b=1; // initialize to 1
for(int i=0;i<3;i++){
   System.out.print(b); // print the value.
   b = b + 1; // increment the value by 1
}
int b=1;//初始化为1

对于(int i=0;谢谢你,先生,哈哈,我在编程方面太蠢了,我只是新生,所以这就是为什么hihiThis是一个纯粹的解决方案。首先阅读java中变量的作用域和生存期,答案会更好吗?然后建议在最后找到错误和解决方案。@uli这是三行代码。事实上,这里面的肉太少了,我死记硬背两次。我明白,但这个例子表明OP在变量的范围和生存期方面存在差距。而且将来可能会有更复杂的情况。用一句话,你可能就可以消除几个类似的未来问题。这样会更好吗?!坐下来,拿一张纸和标有
x
b
的列,然后手工完成程序。
int b=1; // initialize to 1
for(int i=0;i<3;i++){
   System.out.print(b); // print the value.
   b = b + 1; // increment the value by 1
}
int b=1; 
for(int i=0;i<3;i++){
   System.out.print(b++); 
}