Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.lang.Math;
- class Main {
- public static void main(String[] args) {
- Scanner scan = new Scanner(System.in);
- System.out.println("Enter the values for the first array, up to 10000 values, enter a negative number to quit");
- int len1 = 0;
- int value1 = 1;
- int i = 0;
- int[] array1 = new int [10000];
- while (i < array1.length) {
- value1 = scan.nextInt();
- if (value1 < 0) {
- break;
- }
- len1++;
- array1[i] = value1;
- i++;
- }
- System.out.println("\n" + "Enter the values for the second array, up to 10000 values, enter a negative number to quit");
- int len2 = 0;
- int value2 = 1;
- int j = 0;
- int[] array2 = new int [10000];
- while (i < array2.length) {
- value2 = scan.nextInt();
- if (value2 < 0) {
- break;
- }
- len2++;
- array2[j] = value2;
- j++;
- }
- System.out.println("First Array:");
- for (int x = 0; x < len1; x++) {
- System.out.print(array1[x] + " ");
- }
- System.out.println("\n" + "Second Array:");
- for (int k = 0; k < len2; k++) {
- System.out.print(array2[k]+ " ");
- }
- Boolean order1 = true;
- for (int b = 0; b < len1-1; b++) {
- if (array1[b] > array1[b+1]) {
- System.out.println("\n" + "ERROR: Array not in correct order");
- order1 = false;
- break;
- }
- }
- Boolean order2 = true;
- for (int n = 0; n < len2-1; n++) {
- if (array2[n] > array2[n+1]) {
- System.out.println("\n" + "ERROR: Array not in correct order");
- order2 = false;
- break;
- }
- }
- if (order1 && order2) {
- int[] merged = new int[len1 + len2];
- int loc1 = 0;
- int loc2 = 0;
- int loc3 = 0;
- System.out.println("\n" + "Merged Array:");
- while (loc3 < merged.length && loc1 < array1.length && loc2 < array2.length) {
- merged[loc3] = Math.min(array1[loc1],array2[loc2]);
- if (array1[loc1] >= array2[loc2]) {
- loc2++;
- }
- else {
- loc1++;
- }
- loc3++;
- }
- while (loc3 < merged.length && (loc1 < array1.length || loc2 < array2.length)) {
- if (loc1 <= array1.length) {
- merged[loc3] = array1[loc1];
- }
- else {
- merged[loc3] = array2[loc2];
- }
- loc1++;
- loc2++;
- loc3++;
- }
- for (int p = 0; p < merged.length; p++) {
- System.out.print(merged[p] + " ");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement