2014-03-04 101 views
-1

很长一段时间,但搜索第一次我张贴的问题。我是一名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

结束对valueOne,你刚才声明的变量,但你做没有赋值为它... –

+0

只要看看一个基本的Java教程。您可以在30秒... –

+0

麦克风,超有帮助...谢谢... – HFarnsworth

回答

2

当你调用MethodToCall,你是不是做与返回的任何有价值的东西。您需要将返回的值存储在变量中,即

int valueOne = MethodToCall(); 
0

看起来您似乎对变量作用域感到困惑。试试做

int valueOne = MethodToCall(); 

在你的主。

0

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

INT valueone = methodtovalue();

是正确的..

还要注意的是,当这是因为变量是在函数声明到达主程序中的函数声明的变量将失去它的范围。所以valueone在功能上是在main(),因为valueone在函数只有内的主要功能和valueone其范围宣布valueone不同有其范围至MainProgram(主程序)

+0

感谢您的反馈学习这一点。什么/哪里会返回2位于?这是否会取代valueOne的变量? – HFarnsworth

+0

我编辑了我的评论。只是检查更多的澄清 – user3256147