получить значение переменной из другого метода - PullRequest
0 голосов
/ 04 июля 2019

Как напечатать значение переменной, которая определена внутри другого метода?

Это может быть глупый вопрос, но, пожалуйста, помогите мне, так как я только начинающий в программировании

public class XVariable {
    int c = 10; //instance variable

void read() {
    int b = 5;
    //System.out.println(b);
}

public static void main(String[] args) {
    XVariable d = new XVariable();
    System.out.println(d.c);
    System.out.println("How to print value of b here? ");
    //d.read();
}
}

Ответы [ 3 ]

4 голосов
/ 04 июля 2019

Вы не можете. b является локальной переменной . Он существует только во время выполнения read, и если read выполняется несколько раз (например, в нескольких потоках или через рекурсивные вызовы), каждое выполнение read имеет свою собственную отдельную переменную.

Возможно, вы захотите рассмотреть вопрос , возвращающий значение из метода или потенциальное использование вместо него поля - это зависит от того, каков ваш реальный пример использования.

В учебном разделе Java по переменным содержится дополнительная информация о различных типах переменных.

1 голос
/ 04 июля 2019

Вам необходимо вернуть значение из ваших методов read ().

public class XVariable {
    int c = 10; //instance variable

int read() {
    int b = 5;
    return b;
}

public static void main(String[] args) {
    XVariable d = new XVariable();
    System.out.println(d.c);
    System.out.println(read());
    //d.read();
}
}
0 голосов
/ 04 июля 2019

Верните b из метода read и напечатайте его

public class XVariable {
    int c = 10; //instance variable

    int read() {
        int b = 5;
       return b;
    }

    public static void main(String[] args) {
        XVariable d = new XVariable();
        System.out.println(d.c);
        System.out.println(d.read());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...