public class Main {
public static void main
(String[] args
) { int[] ar = {1,2,3,4,5,6,7,8,9};
shiftRight(ar);
for (int i = 0; i < ar.length; i++) {
}
// prints: 912345678 -- good
reverseArray(ar);
for (int i = 0; i < ar.length; i++) {
}
// prints: 91234567 -- I don't understand
}
public static void shiftRight(int[] ar) {
int temp = ar[ar.length - 1];
for (int i = ar.length - 1; i > 0; i--) {
ar[i] = ar[i - 1];
}
ar[0] = temp;
}
public static void reverseArray(int[] ar) {
int[] temp = new int[ar.length];
System.
arraycopy( ar,
0, temp,
0, ar.
length ); for (int i = 0, j = temp.length - 1; i < ar.length; i++, j--) {
ar[i] = temp[j];
}
for (int i = 0; i < ar.length; i++) {
}
// prints: 876543219
}
}
cHVibGljIGNsYXNzIE1haW4gewogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewogICAgICAgIGludFtdIGFyID0gezEsMiwzLDQsNSw2LDcsOCw5fTsKCiAgICAgICAgc2hpZnRSaWdodChhcik7CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhci5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KGFyW2ldKTsKICAgICAgICB9CiAgICAgICAgLy8gcHJpbnRzOiA5MTIzNDU2NzggLS0gZ29vZAogICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwoKICAgICAgICByZXZlcnNlQXJyYXkoYXIpOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXIubGVuZ3RoOyBpKyspIHsKICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKGFyW2ldKTsKICAgICAgICB9CiAgICAgICAgLy8gcHJpbnRzOiA5MTIzNDU2NyAtLSBJIGRvbid0IHVuZGVyc3RhbmQgICAgICAgCiAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCk7ICAgICAgIAogICAgfQogICAgcHVibGljIHN0YXRpYyB2b2lkIHNoaWZ0UmlnaHQoaW50W10gYXIpIHsKICAgICAgICBpbnQgdGVtcCA9IGFyW2FyLmxlbmd0aCAtIDFdOwogICAgICAgIGZvciAoaW50IGkgPSBhci5sZW5ndGggLSAxOyBpID4gMDsgaS0tKSB7CiAgICAgICAgICAgIGFyW2ldID0gYXJbaSAtIDFdOwogICAgICAgIH0KICAgICAgICBhclswXSA9IHRlbXA7CiAgICB9CiAgICBwdWJsaWMgc3RhdGljIHZvaWQgcmV2ZXJzZUFycmF5KGludFtdIGFyKSB7CiAgICAgICAgaW50W10gdGVtcCA9IG5ldyBpbnRbYXIubGVuZ3RoXTsKICAgICAgICBTeXN0ZW0uYXJyYXljb3B5KCBhciwgMCwgdGVtcCwgMCwgYXIubGVuZ3RoICk7CiAgICAgICAgZm9yIChpbnQgaSA9IDAsIGogPSB0ZW1wLmxlbmd0aCAtIDE7IGkgPCBhci5sZW5ndGg7IGkrKywgai0tKSB7CiAgICAgICAgICAgIGFyW2ldID0gdGVtcFtqXTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhci5sZW5ndGg7IGkrKykgewogICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KGFyW2ldKTsKICAgICAgICB9CiAgICAgICAgLy8gcHJpbnRzOiA4NzY1NDMyMTkKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oKTsKICAgIH0KfQ==