I am trying to create a license key with two lines combined into one line.
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 broke my lines every two spaces like this, and I save in 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 a combination of my lines, giving me a result that looks like this:
String result = "D1H1X1X2X3Y2Y4X4X5...XnY3Y1D2m2m1H1H2";
Hope someone can give me an idea how to solve this.
I am trying to do something like this, but this is a very bad 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 is not a very good way to do this, because the lines will change.