我需要验证异常是否为真,但来自另一个类
我有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
布尔值不匹配
答案 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”实例。