老爷子88 发表于 2017-7-2 17:08:54

数组反转,奇数角标元素交换

  (1)键盘录入6个int类型的数据存数数组arr中
(2)将arr数组中的内容反转
(3)将翻转后的数组角标为奇数的互相交换 1和3换, 3和5换,以此类推
(4)最后将数组最后一个角标为奇数的元素 和数组中第一个角标为奇数的元素交换
(5)打印最终的数组(实现了1-4步之后的数组)
(6)如:用户输入的6个int数字为,最后输出的结果为
/*需求分析:
1.创建键盘录入对象;
2.定义方法实现数组反转;
3.定义方法,实现奇数角标元素互换
4.完成最后角标为奇数的元素和第一个角标为奇数的元素互换
*/



import java.util.Scanner;
class Exchange {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);      //创建鼠标录入对象
//创建数组并一步步赋值
System.out.println("您需要输入包含多少个元素的数组?");      //提示输入语句,获取键盘键入的值
int num = sc.nextInt();                                        //拿到num,可依此创建元素个数为num的数组
int[] arr = new int;                                    //创建数组

System.out.println("您现在需要依次输入" + num + "个整数");    //提示语句
for (int i = 0;i < num ;i++ ) {                              //for循环给数组赋值
arr = sc.nextInt();
}
System.out.println("交换前的数组为");      //输出语句,调用print方法输出数组
      print(arr);                           
change(arr);                              //调用change()方法
System.out.println("交换后的数组为");      //输出语句,调用print方法输出数组
      print(arr);
exchange(arr);                              //调用exchange方法交换角标为奇数的元素
System.out.println("交换角标为奇数的元素后的数组为");
print(arr);                                    //输出语句,调用print方法输出数组

}
//定义change方法,用来反转数组的值
publicstatic void change(int[] arr){            //反转数组的值的方法
for (int i = 0 ;i < arr.length/2 ;i++ ) {   
int temp = arr;
arr = arr;
arr = temp;
}
}
//定义print方法,打印输出数组的每个元素
public static void print(int[] arr){            //打印数组元素的方法
for (int i = 0; i < arr.length;i++ ) {
System.out.print(" " + arr);
}
System.out.println();
}
//定义exchange方法,实现奇数角标元素的互换
public static void exchange(int[] arr){            //定义exchange方法
for (int i = 0;i < arr.length -2 ;i = i + 2 ) {      //将角标为奇数的全部交换
int temp = arr;
arr = arr;
arr = temp;
}
}
}
页: [1]
查看完整版本: 数组反转,奇数角标元素交换