Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class EnhancedWeave {
- public EnhancedWeave(String[] firstArray, String[] secondArray) {
- insWeave(firstArray, secondArray);
- }
- public EnhancedWeave(String firstString, String secondString) {
- int secondStringLength = secondString.length();
- // Check if arguments are valid
- if (firstString.length() != 0 && secondStringLength != 0 && secondStringLength % 2 == 0) {
- // Prepare charArrays for further processing
- char[] firstCharArray = new char[firstString.length()];
- char[] secondCharArray = new char[secondString.length()];
- for (int i = 0; i < firstCharArray.length; i++)
- firstCharArray[i] = firstString.charAt(i);
- for (int i = 0; i < secondCharArray.length; i++)
- secondCharArray[i] = secondString.charAt(i);
- insBracket(firstCharArray, secondCharArray);
- } else
- System.out.println("Invalid arguments");
- }
- public void insBracket(char[] firstSequence, char[] secondSequence) {
- String[] finalArray = new String[firstSequence.length * 3];
- int k = 0, i = 0, j = 0;
- while (k < finalArray.length) {
- if (i == secondSequence.length)
- i = 0;
- if (j == firstSequence.length)
- j = 0;
- if (k % 3 != 1)
- finalArray[k] = "" + secondSequence[i++];
- else
- finalArray[k] = "" + firstSequence[j++];
- k++;
- }
- print(finalArray);
- }
- public void insWeave(String[] firstArray, String[] secondArray) {
- String[] finalArray = new String[2 * secondArray.length - 1];
- int k = 0, i = 0, j = 0;
- while (k < finalArray.length) {
- if (i == secondArray.length)
- i = 0;
- if (j == firstArray.length)
- j = 0;
- if (k % 2 == 0) // THIS IS THE ONE I'M TALKING ABOUT
- finalArray[k] = secondArray[i++];
- else
- finalArray[k] = firstArray[j++];
- k++;
- }
- print(finalArray);
- }
- public void print(String[] finalArray) {
- for (int i = 0; i < finalArray.length; ) {
- System.out.print(finalArray[i++]);
- }
- }
- public static void main(String... args) {
- new EnhancedWeave(new String[]{"+", "-"}, new String[]{"2", "3", "4", "5", "6", "7"});
- System.out.println();
- new EnhancedWeave(new String[]{"*"}, new String[]{"(2+3)", "(4-5)", "(6+7)"});
- System.out.println();
- new EnhancedWeave("abc", "()[]{}");
- System.out.println();
- new EnhancedWeave("+-", "234567");
- }
- }
Add Comment
Please, Sign In to add comment