动态初始化数组,实现数组元素反转

动态初始化数组,实现数组元素反转

实现动态初始数组(满足从键盘输入)

首先确定要输入的数组个数sum,用于动态初始化数组。再通过for循环将键盘输入的数字添加进数组arr

 1 package test.array;
 2 
 3 import java.util.Arrays;
 4 import java.util.Scanner;
 5 
 6 public class SetArray {
 7     public static int[] arraySet() {             //将从键盘输入的数字放进一个数组
 8         Scanner sc = new Scanner(System.in);
 9         System.out.println("请输入数组元素的个数:");
10         int sum = sc.nextInt();
11         int[] arr = new int[sum];
12         for (int i = 0; i < sum; i++) {
13             System.out.print("请输入第" + (i + 1) + "个数字:");
14             arr[i] = sc.nextInt();
15         }
16         System.out.println("输入的数组为:" + Arrays.toString(arr));
17         return arr;
18     }
19 }

调用初始化数组方法,并实现数组元素反转

1.元素反转其实就是数组内对称索引的值进行交换。

2.通常遍历数组用一个索引,表示对称位置就需要两个索引即[first]与[last]。

3.如何交换两个变亮的值?两个装满水的水杯调换水,必然要借用第三个杯子,那交换两个变亮的值就需要第三个变量用来“倒手”。

4.什么时候停止交换?当[first]>[last]时,即对称交换结束。

 

 1 package test.array;
 2 
 3 import java.util.Arrays;
 4 
 5 import static test.array.PrintArray.printArr;
 6 import static test.array.SetArray.arraySet;
 7 
 8 public class ArrayReverse {
 9     public static void main(String[] args) {
10         int[] arr = arraySet();
11         for (int first = 0, last = arr.length - 1; first < last; first++, last--) {    
12             int temp;
13             temp = arr[first];
14             arr[first] = arr[last];
15             arr[last] = temp;
16         }
17         System.out.println("数组元素反转后为:" + Arrays.toString(arr));
18     }
19 }

 

for(初始化语句;条件判断;步进表达式){

循环体

}

确定初始化语句:即两个索引

确定条件判断:当 [first]>[last],即 first < last

确定步进表达式:first++,last--

posted @ 2021-04-09 03:27  YuJiuYao  阅读(180)  评论(0编辑  收藏  举报