假设存在某些情况,您想在同一 for 循环中增加和减少值。 在这组情况下,有些情况下,您可以通过利用情况的性质来“欺骗”它-例如,反转字符串。
由于构建字符串的特性,我们实际上不必操纵迭代或添加额外的计数器:
然而,假设存在一种情况,我们只想打印一个递减的值,从初始值到0,以及一个递增的值,从0到初始值。
由于构建字符串的特性,我们实际上不必操纵迭代或添加额外的计数器:
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 - i
? - Alexis King