查看此代码?使用扫描仪输入的所有for循环参数
import java.util.Scanner;
public class CountingMachineRevisited {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int from, to, by;
System.out.print("Count from: ");
from = scan.nextInt();
System.out.println("Count to: ");
to = scan.nextInt();
System.out.println("Count by: ");
by = scan.nextInt();
for (int i = from; i <= to; i+=by) {
System.out.println(i);
}
}
}
此代码我希望它的方式,但如果我改变的终止条件为循环来我==来,它不工作。
for (int i = from; i == to; i+=by) {
System.out.println(i);
}
我会明白这一切都是整型的默认为0使终端一样的初始所以for循环将停止,但如果我在循环之前初始化新的价值观开始为什么犯规工作?
当'i'获得值'from'时,它不等于'to',所以循环从不执行。用'from'等于'to'来试试你的程序,你会发现它只会进入for循环一次。 – Tunaki
那么你初始化你的变量是什么?根据你的变量,'i + by'可能会跳过'to'的值 – Zarwan
如果我初始化它们:从= 1到= 10,by = 2。如果终止条件是“我==为“。我意识到如果输入没有正确输入,循环会变得混乱。我很好奇它为什么永远不会执行。 –