在同一个类中调用的方法

时间:2014-03-04 02:17:02

标签: java

很长时间的搜索者,但我第一次发帖提问。我是一名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。非常感谢任何帮助,因为我还在学习。

此致 休伯特法恩斯沃思

3 个答案:

答案 0 :(得分:2)

当您致电MethodToCall时,您没有对返回的值做任何事情。您需要将返回的值存储在变量中,即

int valueOne = MethodToCall();

答案 1 :(得分:0)

看起来你对变量范围感到困惑。尝试做

int valueOne = MethodToCall();

在你的主要内部。

答案 2 :(得分:0)

当你返回一些东西时,你需要一个变量来保存返回的值..所以

int valueone = methodtovalue();

会是正确的..

另请注意,函数中声明的变量在到达主程序时会失去其范围,因为变量是在函数中声明的。函数中的valueone与main()中声明的valueone不同,因为函数中的valueone仅在函数内具有其范围,而main中的valueone的范围直到mainprogram的结尾