import java.util.Scanner;
/*
* 需求:
* (1)键盘录入5个int类型的数据存储数组arr中
* (2)定义方法将arr数组中的内容反转
* (3)定义方法对反转后的数组进行遍历
* 分析:
* A:定义一个长度为5的数组
* B:通过键盘录入数据给数组中的元素赋值
* C:定义方法将arr数组中的内容反转
* 什么是反转? 如何实现反转
* D:定义方法对反转后的数组进行遍历
*
*
* */
public class Test7 {
public static void main(String[] args) {
//定义1个5个数据的数组
int[] arr=new int[5];
//键盘录入数据
Scanner sc=new Scanner(System.in);
for(int x=0;x<arr.length;x++)
{
System.out.println("请输入"+(x+1)+"个元素值:");
int num=sc.nextInt();
arr[x]=num;
}
//反转前
printArray(arr);
reverse(arr);
//写方法进行数组遍历
printArray(arr);
}
//遍历数组
public static void printArray(int[] arr)
{
System.out.print("[");
for(int x=0;x<arr.length;x++)
{
//如果数组的索引是最后一个
if(x==arr.length-1)
{
System.out.println(arr[x]+"]");
}else {
System.out.print(arr[x]+",");
}
}
}
//写方法 将数组中的内容反转 明确参数列表int[] arr 明确返回值 无返回值void
public static void reverse(int[] arr)
{
//拿数组0索引位置的元素和最大索引位置的元素交换
//拿数组1索引位置的元素和次大索引位置的元素交换
//int start=0;
//int end=arr.length-1;
//start<=end;
//如何实现2个数据的交换呢
// int a=10;
// int b=20;
// 采用第三方变量的方式 实现2个数据的交换
// int temp=a;
// b=a;
//b=temp;
for(int start=0,end=arr.length-1;start<=end;start++,end--)
{
//采用第三方变量的方式 把数组中的内容反转
int temp=arr[start];
arr[start]=arr[end];
arr[end]=temp;
}
}
}