众所周知,二层for循环用处很大。其难点在于内外两层循环变量的始点和终点的确定。
今天碰巧遇到这个问题,先写一篇文章,讨论一个用处。
不会集中整理二层for循环的各种用处,打算是学习中遇到一种,就会来写上一篇。时间久了,应该就会整理完全。
用处之一:数字升序排列极其类似应用
废话不多说,代码如下:
import java.util.Arrays;
import java.util.Random;
public class ForAgainOne {
/**
* 二层for循环的应用系列之一
* 数字升序排列
* 二层for循环的难点就在于根据具体应用,如何控制内外的循环变量的始点和终点
* @param args
*/
public static void main(String[] args) {
Random r=new Random();
int[] required=new int[15];
for(int i=0;i<15;i++){
int randomNumber=r.nextInt(100);
required[i]=randomNumber;
}
sortNumber(required);
}
public static void sortNumber(int[] intArray){
int len=intArray.length;
for(int i=0;i<len;i++){
for(int j=i;j<len;j++){
if(intArray[i]>intArray[j]){
int temp=intArray[i];
intArray[i]=intArray[j];
intArray[j]=temp;
}
}
}
System.out.println(Arrays.toString(intArray));
}
}
程序的作用是对数字进行升序排列。main中随机生成15个100以内的数字,然后将这些数字组成数组,传给sortNumber方法。
注意看核心实现的for循环的变量的控制。