Guest User

Untitled

a guest
Aug 12th, 2016
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.73 KB | None | 0 0
  1. public class EnhancedWeave {
  2.  
  3.     public EnhancedWeave(String[] firstArray, String[] secondArray) {
  4.         insWeave(firstArray, secondArray);
  5.     }
  6.  
  7.     public EnhancedWeave(String firstString, String secondString) {
  8.         int secondStringLength = secondString.length();
  9.         // Check if arguments are valid
  10.         if (firstString.length() != 0 && secondStringLength != 0 && secondStringLength % 2 == 0) {
  11.             // Prepare charArrays for further processing
  12.             char[] firstCharArray = new char[firstString.length()];
  13.             char[] secondCharArray = new char[secondString.length()];
  14.  
  15.             for (int i = 0; i < firstCharArray.length; i++)
  16.                 firstCharArray[i] = firstString.charAt(i);
  17.  
  18.             for (int i = 0; i < secondCharArray.length; i++)
  19.                 secondCharArray[i] = secondString.charAt(i);
  20.  
  21.             insBracket(firstCharArray, secondCharArray);
  22.         } else
  23.             System.out.println("Invalid arguments");
  24.     }
  25.  
  26.     public void insBracket(char[] firstSequence, char[] secondSequence) {
  27.         String[] finalArray = new String[firstSequence.length * 3];
  28.         int k = 0, i = 0, j = 0;
  29.         while (k < finalArray.length) {
  30.             if (i == secondSequence.length)
  31.                 i = 0;
  32.             if (j == firstSequence.length)
  33.                 j = 0;
  34.             if (k % 3 != 1)
  35.                 finalArray[k] = "" + secondSequence[i++];
  36.             else
  37.                 finalArray[k] = "" + firstSequence[j++];
  38.             k++;
  39.         }
  40.         print(finalArray);
  41.     }
  42.  
  43.  
  44.     public void insWeave(String[] firstArray, String[] secondArray) {      
  45.         String[] finalArray = new String[2 * secondArray.length - 1];
  46.         int k = 0, i = 0, j = 0;
  47.         while (k < finalArray.length) {
  48.             if (i == secondArray.length)
  49.                 i = 0;
  50.             if (j == firstArray.length)
  51.                 j = 0;
  52.             if (k % 2 == 0)  // THIS IS THE ONE I'M TALKING ABOUT
  53.                 finalArray[k] = secondArray[i++];
  54.             else
  55.                 finalArray[k] = firstArray[j++];
  56.             k++;
  57.         }
  58.         print(finalArray);
  59.     }
  60.  
  61.     public void print(String[] finalArray) {
  62.         for (int i = 0; i < finalArray.length; ) {
  63.             System.out.print(finalArray[i++]);
  64.         }
  65.     }
  66.  
  67.     public static void main(String... args) {
  68.         new EnhancedWeave(new String[]{"+", "-"}, new String[]{"2", "3", "4", "5", "6", "7"});
  69.         System.out.println();
  70.         new EnhancedWeave(new String[]{"*"}, new String[]{"(2+3)", "(4-5)", "(6+7)"});
  71.         System.out.println();
  72.         new EnhancedWeave("abc", "()[]{}");
  73.         System.out.println();
  74.         new EnhancedWeave("+-", "234567");
  75.     }
  76. }
Add Comment
Please, Sign In to add comment