如何交换两个阵列的一半?

时间:2018-11-30 01:33:46

标签: java arrays

我有一个家庭作业,需要交换两个数组的一半,以便每个数组都包含另一个数组的一半。这是一个例子。

    EXAMPLE 1:

    Enter array size: 5

    Enter first array: 1 2 3 4 5

    Enter second array: 6 7 8 9 10

    Output:
    Array1: 1 2 3 6 7

    Array2: 4 5 8 9 10

    EXAMPLE 2:

    Enter array size: 4

    Enter first array: 9 8 7 6

    Enter second array: -1 -2 -3 -4

    Output:
    Array1:  9 8 -1 -2

    Array2: 7 6 -3 -4

我可以正确设置第一个数组,但是我不知道第二个数组该如何做。这是我的代码:

import java.util.Scanner;

public class Exercise1 {
    public static void main(String args[]) {
        System.out.print("Enter array size: ");
        Scanner input = new Scanner(System.in);
        int a = input.nextInt();
        int c = 0;
        System.out.print("Enter first array: ");
        int num[] = new int[a];
        int num2[] = new int[a];
        for (int i = 0; i < num.length; i++) {
            num[i] = input.nextInt();
        }
        System.out.print("Enter second array: ");
        for (int i = 0; i < num2.length; i++) {
            num2[i] = input.nextInt();
        }
        for (int i = 0; i < a; i++) {
            if (i <= num.length/2) {
                c = num[i];
                num[i] = num2[i];
                num2[i] = c;

            }

        }
        System.out.print("Output: ");
        for (int i = 0; i < num2.length / 2.0; i++) {
            System.out.print(num2[i] + " ");


        }
        for (int i = 0; i < num.length /2; i++) { 
            System.out.print(num[i] + " ");
        }
        System.out.print("\n");


    }
}

我不知道这是否是正确的方法,但是如果我使用此方法,则作业的前半部分会起作用。

0 个答案:

没有答案