import java.util.Arrays;
public class Main {
public static void main
(String[] args
) { System.
out.
println("Original: " + Arrays.
deepToString(twoDimArray2
)); replaceAll(2, 99, 0, 0);
System.
out.
println("Replaced: " + Arrays.
deepToString(twoDimArray2
)); }
private static double[][] twoDimArray2 = new double[][] { { 1, 2, 2 }, { 3, 2, 4 } };
private static void replaceAll(double number, double replacementTerm, int i, int j) {
double searchFor = number;
double replace = replacementTerm;
if (twoDimArray2[i][j] == searchFor) {
System.
out.
println("Replaced An Element!"); twoDimArray2[i][j] = replace;
System.
out.
println(twoDimArray2
[i
][j
]); }
if (i == twoDimArray2.length - 1 && j == twoDimArray2[0].length - 1) {
System.
out.
println("Reached end!"); return;
}
if (i + 1 < twoDimArray2.length) {
replaceAll(number, replacementTerm, i + 1, j);
}
if (j + 1 < twoDimArray2[0].length) {
replaceAll(number, replacementTerm, i, j + 1);
}
}
}
aW1wb3J0IGphdmEudXRpbC5BcnJheXM7CnB1YmxpYyBjbGFzcyBNYWluIHsKCSAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJPcmlnaW5hbDogIiArIEFycmF5cy5kZWVwVG9TdHJpbmcodHdvRGltQXJyYXkyKSk7CiAgICAgICAgcmVwbGFjZUFsbCgyLCA5OSwgMCwgMCk7CiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJSZXBsYWNlZDogIiArIEFycmF5cy5kZWVwVG9TdHJpbmcodHdvRGltQXJyYXkyKSk7CiAgICB9CgogICAgcHJpdmF0ZSBzdGF0aWMgZG91YmxlW11bXSB0d29EaW1BcnJheTIgPSBuZXcgZG91YmxlW11bXSB7IHsgMSwgMiwgMiB9LCB7IDMsIDIsIDQgfSB9OwoKICAgIHByaXZhdGUgc3RhdGljIHZvaWQgcmVwbGFjZUFsbChkb3VibGUgbnVtYmVyLCBkb3VibGUgcmVwbGFjZW1lbnRUZXJtLCBpbnQgaSwgaW50IGopIHsKICAgICAgICBkb3VibGUgc2VhcmNoRm9yID0gbnVtYmVyOwogICAgICAgIGRvdWJsZSByZXBsYWNlID0gcmVwbGFjZW1lbnRUZXJtOwogICAgICAgIGlmICh0d29EaW1BcnJheTJbaV1bal0gPT0gc2VhcmNoRm9yKSB7CiAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigiUmVwbGFjZWQgQW4gRWxlbWVudCEiKTsKICAgICAgICAgICAgdHdvRGltQXJyYXkyW2ldW2pdID0gcmVwbGFjZTsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKHR3b0RpbUFycmF5MltpXVtqXSk7CiAgICAgICAgfQogICAgICAgIGlmIChpID09IHR3b0RpbUFycmF5Mi5sZW5ndGggLSAxICYmIGogPT0gdHdvRGltQXJyYXkyWzBdLmxlbmd0aCAtIDEpIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJSZWFjaGVkIGVuZCEiKTsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICBpZiAoaSArIDEgPCB0d29EaW1BcnJheTIubGVuZ3RoKSB7CiAgICAgICAgICAgIHJlcGxhY2VBbGwobnVtYmVyLCByZXBsYWNlbWVudFRlcm0sIGkgKyAxLCBqKTsKICAgICAgICB9CiAgICAgICAgaWYgKGogKyAxIDwgdHdvRGltQXJyYXkyWzBdLmxlbmd0aCkgewogICAgICAgICAgICByZXBsYWNlQWxsKG51bWJlciwgcmVwbGFjZW1lbnRUZXJtLCBpLCBqICsgMSk7CiAgICAgICAgfQogICAgfQp9
Original: [[1.0, 2.0, 2.0], [3.0, 2.0, 4.0]]
Replaced An Element!
99.0
Reached end!
Replaced An Element!
99.0
Reached end!
Replaced An Element!
99.0
Reached end!
Replaced: [[1.0, 99.0, 99.0], [3.0, 99.0, 4.0]]