很长时间的搜索者,但我第一次发帖提问。我是一名IT学生,正在进入[尚未开始]我的第二个编程课程。第一个只是Java的介绍(我们真的在谈论基础知识)。我在同一个类中调用方法时遇到了困难。我试图搜索结果很糟糕。弹出一些文章,但它们并没有涵盖我正在寻找的内容。包括一个例子(快速,可能写得不好),以了解我所要求的。基本的要点[记得留在我身边,因为我是一般的编程新手]是我要添加两个数字,创建第三个,并让系统显示结果......
public class MethodCallExample{
public static void main(String[] args){
int valueTwo = 3;
MethodToCall();
int valueOne;
int TrueValue = valueOne + valueTwo;
System.out.println("The total value is " + TrueValue + "!");
}
public static int MethodToCall(){
int valueOne = 2;
return valueOne;
}
}
当我去编译时,我会得到两个错误中的一个,具体取决于我尝试使用哪个derp。如果我编译为'写',我收到“valueOne可能没有被初始化”错误,如果我移动或删除-int valueOne - 我收到“找不到符号”指的是valueOne。非常感谢任何帮助,因为我还在学习。
此致 休伯特法恩斯沃思
答案 0 :(得分:2)
当您致电MethodToCall
时,您没有对返回的值做任何事情。您需要将返回的值存储在变量中,即
int valueOne = MethodToCall();
答案 1 :(得分:0)
看起来你对变量范围感到困惑。尝试做
int valueOne = MethodToCall();
在你的主要内部。
答案 2 :(得分:0)
当你返回一些东西时,你需要一个变量来保存返回的值..所以
int valueone = methodtovalue();
会是正确的..
另请注意,函数中声明的变量在到达主程序时会失去其范围,因为变量是在函数中声明的。函数中的valueone与main()中声明的valueone不同,因为函数中的valueone仅在函数内具有其范围,而main中的valueone的范围直到mainprogram的结尾