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