将数组{12, 98, 50, 34, 76 }逆序输出
public class ArrayTestNiXu {
public static void main(String[] args) {
// TODO Auto-generated method stub
//分析:
/*将数组{ 12, 98, 50, 34, 76 }逆序输出
* 第一个数跟倒数第一个数交换,第二个数跟倒数第二个数交换,.......
* 如果数组的长度是奇数。中间的数字不用动,如果是偶数没有中间值
*/
int arr[] = { 12, 98, 50, 34, 76 };
System.out.println("逆序前");
//遍历数组
BLArray(arr);
System.out.println("逆序后");
//将数组逆序
NXArray2(arr);
//遍历数组
BLArray(arr);
}
/* 数组的逆序 */
public static void NXArray(int[] arr) {
//循环输出,循环的次数是 arr.length/2 因为第一个跟最后一个交换,第二个跟倒数第二个交换....所以循环 arr.length/2次
for (int x = 0; x < arr.length / 2; x++) {
int temp=arr[x]; //定义一个第三方变量
arr[x]=arr[arr.length-1-x]; //将最后一个数赋值给第一个数
arr[arr.length-1-x]=temp; //将第三方变量赋值给最后一个数
}
}
// 遍历数组
public static void BLArray(int[] arr) {
//要输出例如{1,2,3,4}类型的数组只需要将最后一个数字的最后加上"}"前面的都用,
System.out.print("{");
for (int x = 0; x < arr.length; x++) {
if (x == arr.length - 1) { //如果是最后一个数的话,
System.out.println(arr[x]+"}"); //输出arr[x]+"]"并且换行
} else {
System.out.print(arr[x] + ","); //如果不是最后一个数,输出arr[x]+","
}
}
}
}
|
|