我如何打印在另一种方法中定义的变量的值?
这可能是一个愚蠢的问题,但由于我只是编程的初学者,请帮助我
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();
}
}
答案 0 :(得分:4)
不能。 b
是局部变量。它仅在read
执行期间存在,并且如果read
执行多次(例如,在多个线程中或通过递归调用),则read
的每次执行都有其自己的单独变量。
您可能要考虑从方法中返回的值,或者可能使用字段代替-这取决于您的实际用例。
Java tutorial section on variables提供了有关各种变量的更多信息。
答案 1 :(得分:1)
您需要从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();
}
}
答案 2 :(得分:0)
从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());
}
}