前言
最近在学习java黑马基础班的视频,老师出了这样一个问题:数组内容的倒序输出
正文
1.超笨的思路
1.判断奇数还是偶数个元素;
2.通过一个中间变量暂时存放元素;
public class One{
public static void main(String[] args) {
int[] arrayB = new int[]{55,66,77};
int x= arrayB.length;
if (x%2==0){
//不相等 偶数个
for (int i = 0; i < (x+1)/2; i++) {
int temp = arrayB[x-1-i];
arrayB[x-1-i]=arrayB[i];
arrayB[i] = temp; } }
else{
//相等 奇数个
for (int i = 0; i <= x/2 ; i++) {
if(x/2!=i){
int temp = arrayB[x-1-i];
arrayB[x-1-i]=arrayB[i];
arrayB[i] = temp;} } }
for (int i = 0; i < x; i++) {
System.out.println(arrayB[i]);
}
}
}
2.普通的思路
1.舍弃对奇数偶数的判断;
2.需要创建一个中间变量暂时存放元素;
3.这也是视频中的老师给出的一种办法。
public class One{
public static void main(String[] args) {
int[] array = new int[]{1,2,3,4,5};
int max = array.length-1;
for (int min = 0; min < max; min++,max--) {
int temp = array[max];
array[max] = array[min];
array[min] = temp;
}
for (int i = 0; i < array.length; i++) {
System.out.println(array[i]);
}
}
}
3.简洁的思路
1.从后往前直接打印
public class One {
public static void main(String[] args) {
int[] array = new int[]{1,2,3,4,5};
for (int i = array.length - 1; i >= 0; i--) {
System.out.println(array[i]);
}
}
}
2.创建一个数组存放原数组的元素
public class One{
public static void main(String[] args) {
int[] arrayC = new int[]{1,2,3,4,5};
int[] arrayB = new int[arrayC.length];
for (int i = 0; i < arrayC.length; i++) {
arrayB[i] = arrayC[arrayC.length-1-i];
}
for (int i = 0; i < arrayB.length; i++) {
System.out.println(arrayB[i]); }
}
}