Member 12873822 Ответов: 1

Что будет на выходе следующий код на Java? Пожалуйста, опубликуйте то, что вы получаете.


Я попытался запустить код и получил сообщение об ошибке "точка не может быть разрешена в переменную". Почему я получаю эту ошибку, и, пожалуйста, попробуйте запустить код самостоятельно и поделиться тем, что вы получаете. Спасибо.

ReferenceMystery1 открытый класс {
публичный статический пустота главный(строка[] аргументы) {
int a = 7;
int b = 9;
Точка p1 = новая точка (2,2);
Точка p2 = новая точка (2,2);
addToXTwice(a, p1);
Системы.из.код println(а + ""+ б + "" + Р1.х + "" + Р2.х);
addToXTwice(b, p2);
Системы.из.код println(а + ""+ б + "" + Р1.х + "" + Р2.х);

}

общественная статический недействительным addToXTwice(тип int а, точку Б) {
а = а + а;
П1.х = а;
Системы.из.код println(а + "" + Р1.х);
}
}

Что я уже пробовал:

Я постоянно получаю сообщения об ошибках, которые мешают ему работать, которые говорят: "p1.x не может быть разрешен в переменную". Пожалуйста, ответьте с выводом программы.

1 Ответов

Рейтинг:
0

Joseph Milane

Это ошибка времени компиляции, поскольку переменная " p1 " не объявлена в методе addToXTwice (). Программа будет запущена, если вы измените "p1 "на" b " в этом методе.

Вот обновленный код:

public class ReferenceMystery1 {
    public static void main(String[] args) {
        int a = 7;
        int b = 9;
        Point p1 = new Point(2,2);
        Point p2 = new Point(2,2);
        addToXTwice(a, p1);
        System.out.println(a + " " + b + " " + p1.x + " " + p2.x);
        addToXTwice(b, p2);
        System.out.println(a + " " + b + " " + p1.x + " " + p2.x);

    }

    public static void addToXTwice(int a, Point b) {
        a = a + a;
        b.x = a;
        System.out.println(a + " " + b.x);
    }
}


Вот результат с этим изменением:

14 14
7 9 14 2
18 18
7 9 14 18