Доступ к переменной внутри исключения из другого класса - PullRequest
0 голосов
/ 26 сентября 2018

Мне нужно проверить, если исключение истинно, но из другого класса

у меня есть 2 класса class_a и class_b

Вот классы:

public class Class_a {

static boolean pru = false;

public static boolean Getpru() {
    return pru;
}

public static void Setpru(boolean setAValue) {
    pru = setAValue;
  }

public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    Class_a a = new Class_a();

    Class_b b = new Class_b();

    int entr = 0;

    try {

        System.out.println("Enter a number");

        entr = scan.nextInt();

    } catch (Exception e) {



        a.Setpru(true);

    }

    b.val();

} }

я меняю значение pru на true, когда оно попадает в исключение

Вот второй класс

public class Class_b {

Class_a a = new Class_a();

public void val() {

    if (a.Getpru()) {

        System.out.println("There is a misktake in the value");
    } else {

        System.out.println("The value is correct");
    }

}

}

Проблема, которую яесть то, что в class_b значение pru не соответствует логическому значению class_a

1 Ответ

0 голосов
/ 26 сентября 2018

Вы используете неправильные экземпляры, при первой проверке значения "pru" вы используете "экземпляр 1" из "Class_a", но когда вы проверяете внутри "Class_b", вы используете совершенно новый экземпляр ... попробуйтеследующее:

Class_a

public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    Class_a a = new Class_a();
    Class_b b = new Class_b();
    int entr = 0;
    try {
        System.out.println("Enter a number");
        entr = scan.nextInt();
    } catch (Exception e) {
        a.Setpru(true);
    }
    b.val(a);
}

Class_b

public class Class_b {
    public void val(Class_a a) {
        if (a.Getpru()) {
            System.out.println("There is a misktake in the value");
        } else {
            System.out.println("The value is correct");
        }
    }
}

Таким образом, "Class_b" будет использовать то же самое "Class_a "экземпляр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...