I'm trying to generate a license key with two strings combined both into another one string.
String key1 = "X1X2X3X4..Xn"; //this is for the imei key cellphone
String key2 = "Y1Y2Y3Y4M1M2D1D2H1H2m1m2"; //this is a key to mix with the first one
The result of the combination should be like this:
String result = "D1H1X1X2X3Y2Y4X4X5...XnY3Y1D2m2m1H1H2";
I split my strings every two spaces like this and I save into an array:
String [] key1splited = splitStringEvery(key1, 2);
String [] key2splited = splitStringEvery(key2, 2);
public String[] splitStringEvery(String s, int interval) {
    int arrayLength = (int) Math.ceil(((s.length() / (double)interval);
    String[] result = new String[arrayLength];
    int j = 0;
    int lastIndex = result.length - 1;
    for (int i = 0; i < lastIndex; i++) {
        result[i] = s.substring(j, j + interval);
        j += interval;
    } 
    result[lastIndex] = s.substring(j);
    return result;
}
How can I make the combination of my strings give me a result that looks like this:
String result = "D1H1X1X2X3Y2Y4X4X5...XnY3Y1D2m2m1H1H2";
I hope someone could give me an idea how to solve this.
I am trying to do something like this, but it is very poor method:
static String res = "";
String[] key1splited = splitStringEvery(key1, 2);
String[] key2splited = splitStringEvery(key2, 2);
for (int i = 0; i < key2splited.length; i++) {
    if (key2splited[i].equals("D1")) {
        res = key2splited[i];
    }
    if (key2splited[i].equals("H1")) {
        res += key2splited[i];
        for (int j = 0; j < key1splited.length; j++) {
            if (key1splited[j].equals("X1")) {
                res += key1splited[j];
            }
            if (key1splited[j].equals("X2")) {
                res += key1splited[j];
            }
            if (key1splited[j].equals("X3")) {
                res += key1splited[j];
            }
        }
    }
}
And so on, but this isn't a good way to do it because the strings are going to change.
 
     
     
     
     
     
    