public class BadExample {
public static void main(String[] args) {
int x = 3;
int y = 7;
computeSum();
}
public static void computeSum () {
int sum = x + y;
System.out.println("sum = " + sum);
}
}
为什么会出现错误消息?我可以阅读它们,但我不确切地知道它们的含义是什么?
答案 0 :(得分:3)
您没有将x和y传递给computeSum()方法。要在方法中访问它,您需要将其传递给您的方法。
public class BadExample {
public static void main(String[] args) {
int x = 3;
int y = 7;
computeSum(x,y);
}
public static void computeSum (int x, int y) {
int sum = x + y;
System.out.println("sum = " + sum);
}
}
答案 1 :(得分:1)
这是因为函数不知道x和y是什么。 一个正确的方法是将x和y作为参数传递给函数,如下所示:
public class Example {
public static void main(String[] args) {
int x = 3;
int y = 7;
computeSum(x ,y );
}
public static void computeSum (int x, int y) {
int sum = x + y;
System.out.println("sum =" + sum);
}
}
答案 2 :(得分:1)
方法computeSum不知道x和y是什么,所以将它传递给方法的参数。
public class BadExample {
public static void main(String[] args) {
int x = 3;
int y = 7;
computeSum(x,y);
}
public static void computeSum (int x, int y) {
int sum = x + y;
System.out.println("sum = " + sum);
}
}
答案 3 :(得分:0)
也许你假设在main函数中定义的局部变量可以在其他类成员函数中访问。
在函数内定义的变量是该函数的本地变量,并且在该函数的范围之外不可访问。
所以正确的实现是将x和y作为函数参数传递给computeSum(x,y)方法。
public class Sample {
public static void main(String[] args) {
int x = 3;
int y = 7;
computeSum(x ,y );
}
public static int computeSum (int x, int y) {
int sum = x + y;
System.out.println("sum =" + sum);
return sum;
}
}
同样从设计角度来看,computeSum方法应该将参数作为函数参数,其值需要计算并返回总和。