2015-12-27 131 views
-6

第一种方法:如何从另一个函数中获取函数的结果?

public void Calculate (int a, int b) { 
    int sum =a+b; 
} 

第二种方法:

public int getResult(){ 
    return sum ; 
} 
+1

调用函数并将其存储在一个变量..? – OscuroAA

+1

'sum'是'计算的局部变量()',你不能在'的getResult()' – Ramanlfc

+0

这是没有意义的访问它..或者,也许你想存储'sum'作为类的成员变量。 –

回答

3
class xyz { 
    int sum; 
    public void Calculate(int a, int b) { 
     sum = a + b; 
    } 
    public int getResult() { 
     return sum; 
    } 
} 
+0

请格式化,以便答复可读,对某人真正​​有帮助。 –

4
1. public int Calculate (int a, int b) { 
int sum = a + b; 
return sum; 
} 

2. 
public int getResult(){ 
return sum = Calculate(15,12); 

} 

或者尝试这个 1.公众诠释计算(INT A,INT B){ INT总和= A + B; 归还金额; }

2.public int getResult(int a, int b){ 
return sum =Calculate(a,b); 

} 
+0

这将返回总和15 + 12总是27 –

+0

是的,谢谢你纠正我,我要编辑这个。当我发布答案 –

+0

时,我意识到它也是没有意义的,如果两个方法都得到相同的值“a + b”,并且重新分配这两个方法'calculate'(<-lower case name remember)和'getResult'相同的变量'sum' –

3

你的变量loacalized只计算。您可以拨打calulate它自己或在我oppinon全球化的vaiable

Class calculate { 
    int sum; 
     public void calculate(int a, int b) { 
     sum =a+b; 
     } 

     public int getResult(){ 
     return sum ; 
     } 
} 
+2

你应该在类声明包装这个代码和小写也改变'calculate'方法名(约定) –

+0

完成@盖尔这帮助! –

5

这不是完全清楚你想在这里做什么,但似乎你有两个选择......

您可以存储在类级别变量的值:

public int Calculate (int a, int b) { 
    return a + b; 
} 

private int sum = 0; 
public void Calculate (int a, int b) { 
    sum = a + b; 
} 
public int getResult() { 
    return sum; 
} 

或者,可能更有效,只是从中计算它的函数返回值

除非有其他特别好的理由,否则通常只需要做最简单的事就可以。在这种情况下,只是添加数字并返回结果。否则耗时代码将需要记住调用getResult()之前随时调用Calculate()和使用对象时的操作顺序上会产生依赖性。

相关问题