从另一个类的异常中访问变量

时间:2018-09-25 21:04:15

标签: java oop exception

我需要验证异常是否为真,但来自另一个类

我有2个类class_aclass_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 :(得分:0)

您使用的是错误的实例,第一次检查“ pru”值时使用的是“ Class_a”的“实例1”,但是当您在“ Class_b”内部进行验证时,您正在使用的是全新的实例...请尝试以下:

Classaa

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”实例。