Ребята я написал код который выводит число в степени, но вот проблема, когда я пишу например 5 в степени 5 или как в коде 5 в степени 7, то на выходе абсолютно не то число которое ожидается так ещё и в минусовом значении. Этот код работает так как например 5 в степени 4, выводит правильно.
public class Main {

    public static void main(String[] args) {
        // Задаем число и его степень.
        number(2, 4);
    }

    public static void number(int x, int y) {
        // Переменная Z для установки сколько раз должен продлиться цикл.
        int z = y;
        // Переменная X1 для сохранение значение что бы вывести число.
        int x1 = x;
        // Переменная Y2 аналогично с X1.
        int y2= y;
        // Цикл for который перемножает X самого на себя пока X не получит значения степени Y.
        for(int a = 1; z > a; a++) {
            // Перемножение.
            x=x*x;
        }
        // Вывод на экран.
        System.out.print("Число = " + x1 + " в степени " + y2 + " = ");
        System.out.println(x);
    }
}