Не могу понять, почему изменяется переменная класса, хотя в сортировке она не участвует вовсе.
Нужно объяснение именно на этом примере, т.к. переписать так, что бы работало я могу.
package cesar;
import java.io.PrintStream;
import java.util.Scanner;
public class Cesar {
private static Scanner sc = new Scanner(System.in);
private static PrintStream pr = new PrintStream(System.out);
private static char[] alphabet;
private static char[] revAlphabet;
static
{
alphabet = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ".toLowerCase().toCharArray();
revAlphabet = getReverseAlphabet();
}
public static void main(String[] args) {
}
private static char[] getReverseAlphabet() {
int step = 3;
char[] rev = alphabet;
for (char c : alphabet) //test 1
{
pr.print(c);
}
pr.println();
for (int i = 0; i < step; i++)
{
for (int k = 0; k < rev.length-1; k++)
{
char temp = rev[k];
rev[k] = rev[k+1];
rev[k+1] = temp;
}
}
for (char c : alphabet) //test 2
{
pr.print(c);
}
return rev;
}
}