当前位置: 代码迷 >> 综合 >> while循环和for循环之间的转化,关键点是自增数放置的位置
  详细解决方案

while循环和for循环之间的转化,关键点是自增数放置的位置

热度:55   发布时间:2024-01-29 20:32:40.0

首先以一个数组反转程序为例,该程序对一个数组进行了两次反转,分别使用了while循环和for循环:

public class ArrayReversTest {

public static void main(String[] args) {        //数组元素反转

int[] num = new int[] {12, 14, 456, 67, 45, 567};
int min = 0;
int max = num.length-1;
for(int i = 0; i < num.length; i++) {
System.out.print(num[i] + ", ");
}
System.out.println("\n=====================");
while(min < max) {                //第一次反转
int change = num[min];
num[min] = num[max];
num[max] = change;
 min++;
max--;

}
for(min = 0, max = num.length - 1; min < max ; min++, max--) {        //第二次反转
int change = num[min];
num[min] = num[max];
num[max] = change;
}
for(int i = 0; i < num.length; i++) {
System.out.print(num[i] + ", ");
}
}
}

如果把while循环变成

while(min < max) {                //第一次反转           

            min++;
max--;

int change = num[min];
num[min] = num[max];
num[max] = change;

}

那么数组第一个数和最后一个数是没有进行反转的

  相关解决方案