import java.util.Scanner;
/**
* 1.键盘录入6个int类型的数据存数数组arr中
2.将arr数组中的内容反转
3.将翻转后的数组角标为奇数的互相交换 1和3换, 3和5换,以此类推
4.最后将数组最后一个角标为奇数的元素 和数组中第一个角标为奇数的元素交换
5.打印最终的数组(实现了1-4步之后的数组)
6.如:用户输入的6个int数字为[1,2,3,4,5,6],最后输出的结果为[6, 5, 4, 1, 2, 3]
*
*/
public class Test01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数组:");
// int num = sc.nextInt();
int[] arr = new int[6];
for (int i = 0; i < arr.length; i++) {
arr[i] = sc.nextInt();
}
int[] getarr = arr2(arr); // 第一题
System.out.println("-----------------------");
arr3(arr);// 第三题
System.out.println("-----------------------");
arrbreak(arr);//第四题
}
// 第二题内容反转
public static int[] arr2(int[] arr) {
int num1, num2;
for (int i = 0, a = arr.length - 1; a > i; i++, a--) {
num1 = arr[a];
arr[a] = arr[i];
arr[i] = num1;
}
// 打印
for (int i = 0; i < arr.length; i++) {
System.out.println("第二题打印" + arr[i]);
}
return arr;
}
// 第三题奇数互换
public static int[] arr3(int[] arr) {
int num = arr[1];
for (int i = 0; i < arr.length; i++) {
if (i % 2 != 0) {
num = arr[i];
if (i > 1) {
arr[i] = arr[i - 2];
arr[i - 2] = num;
}
}
// if (i%2 != 0 )
// num = getarr[i];
}
// 打印
for (int i = 0; i < arr.length; i++) {
System.out.println("第三题打印" + arr[i]);
}
return arr;
}
//第四题首尾奇数互换
public static int[] arrbreak(int[] arr) {
int num = 0, num1 = 0, n = 0, s = 0,a =0,b=0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 != 0 ) {
a ++;
if (a>2) {
num = arr[i];
n = i;
}
}
if ((arr.length - 1 - i) % 2 != 0 ) {
b ++ ;
if (b>2) {
num1 = arr[arr.length - 1 - i];
// arr[arr.length-1-i] = num;
s = arr.length - 1 - i;
}
}
}
arr[n] = num1;
arr[s] = num;
//打印
for (int i = 0; i < arr.length; i++) {
System.out.println("第四题打印" + arr[i] + " " + i);
}
return arr;
}
}
|
|