假設存在一些情況,您希望在相同的循環中增加和減少值。在這種情況下,有些情況下你可以利用情況的性質來「欺騙」這種情況 - 例如,反轉一個字符串。在同一個循環中增量和減量的有效方法
由於建築弦的性質,我們真的沒有操縱迭代或添加一個額外的計數器:
public static void stringReversal(){
String str = "Banana";
String forwardStr = new String();
String backwardStr = new String();
for(int i = str.length()-1; i >= 0; i--){
forwardStr = str.charAt(i)+forwardStr;
backwardStr = backwardStr+str.charAt(i);
}
System.out.println("Forward String: "+forwardStr);
System.out.println("Backward String: "+backwardStr);
}
但是,假設一個不同的情況存在,我們只是想打印一個遞減值,從初始值到0以及從0到初始值的遞增值。
public static void incrementAndDecrement(){
int counter = 0;
for(int i = 10; i >= 0; i--){
System.out.println(i);
System.out.println(counter);
counter++;
}
}
這工作做得不夠好,但不必創建第二計數器增量似乎凌亂。是否有涉及for循環的數學技巧或技巧,可能會使counter
變得多餘?
簡單算術有什麼問題? '10 - 我'? –
@JakeKing我相信睡眠不足。 –
發生在我們身上。 –