Cześć, robiłem zadanie i zaciąłem sie w pewnym momencie czy mółby ktoś z was pomóc rozwiązać problem, zadanie polega przestawieniu kostek domina w zaleznosci od ilosci iteracji
| - kostka stoi
\ - kostka upada w lewo
/ - kostka upada w prawo
Przykładowo przy ciągu wejściowym: ||//||||/|
Zastosowanie jednej iteracji powinno dać wynik: ||///\||/|
POniżej załączam moj kod, proszę o pomoc :
String input = "||//||\\||/\\|";
StringBuilder output = new StringBuilder(input);
StringBuilder cos = new StringBuilder();
Scanner scanner = new Scanner(System.in);
int iterations = 1; //=scanner.nextInt();
for (int i = 0; i < iterations; i++) {
for (int j = 2; j < output.length(); j++) {
char prevprev = output.charAt(j - 2);
char prev = output.charAt(j - 1);
char act = output.charAt(j);
if (prevprev == '|') {
if (prev == '|' || prev == '/') {
output.replace(j - 2, j - 1, "|");
cos.append("|");
} else {
output.replace(j - 2, j - 1, "\\");
cos.append("\\");
}
} else if (prevprev == '/') {
if (act == '|') {
if (prev == '|' || prev == '/') {
output.replace(j - 2, j - 1, "/");
cos.append("/");
}
} else if (act == '\\') {
if (prev == '|') {
output.replace(j - 2, j - 1, "/");
cos.append("/");
}
}
} else {
output.replace(j - 2, j-1, "\\");
cos.append("\\");
}
}
}
System.out.println(output.toString());
}