int i = 3;
int j = 2;
int k = 1;
Printer printer = new Printer();
if (printer.getTotalAmount() > 0) {
if (printer.getType().equals("canon")) {
if (i >= j) {
i = i-j; // i=3-2, so i will be 1 now
}
}
if (printer.getType().equals("epson")) {
if (i >= k) {
i = i - k; // it should be i = 1-1 and i will be 0 now
}
}
}
我的问题是,可变i
的值不被先前的if
语句之后更新。由于块范围,变量i
的值仍然是3.内更新从外范围的可变的值,如果块
我该如何解决这个问题?
你的问题不清楚。如果if条件不匹配,那么如果阻塞,控制将不会进入内部。所以它不会执行'i = i-j'操作。 而if-else不是循环。它的一个条件块 – Rehman
可能是问题内if条件?请张贴他们。 –
你的代码很好,范围确定 - 该变量属于它声明的范围,所以在'if'里更新它是可以的,并且应该是可见的。问题在别的地方。发布整个剪辑不起作用。 – Ishamael