如何创建返回计算值的公共计算函数?
我想创建公共函数,这将用于计算一些价值。我希望值是函数的输出,例如:如何创建返回计算值的公共计算函数?
public void Calculation(...)
{
x = y+z/2 +i;
if(x >= 10)
{
calculation = 1;
}
else if(x < 10)
{
calculation = 0;
}
}
比,像用它在其他地方:
int final = Calculation(...);
我的计算是一个很大的更大,所以我不喜欢把它放在很多地方,我只是希望它放在一个地方,并且返回价值,因为我需要多次使用它。我怎样才能做到这一点?谢谢你的建议。
,你赋值给一个变量,并声明你的方法不返回任何内容:
public class CalculationUtils
{
public static someReturnType yourMethod (...someParams...)
{
....
return ...
}
}
然后你可以使用任何其它类访问它。相反,你应该只是使它返回结果:
public int calculate(...)
{
int x = y+z/2 +i;
if(x >= 10)
{
return 1;
}
else if(x < 10)
{
return 0;
}
return 2; // Or whatever...
}
如果该方法不需要任何状态,你可以把它的静态方法,所以你可以把它无需声明类的一个实例。
如果您需要该类型本身的方法;使其私密。如果您需要在类型层次结构中使用它,请将其保护起来。如果你在同一个软件包中需要它,给它默认访问权限(没有修饰符)。如果您在任何地方都需要它,请将其公开。
使你的方法是静态的,并把它放在一些实用类中。目前
someReturnType varName = CalculationUtils.yourMethod(...params...);
我忘了添加,我对android非常陌生,为了开发,所以我不知道该怎么做...... xD – 2014-08-27 14:27:46
声明一个名为Utils
的类,该类将有一个可以在任何地方调用的静态方法。像这样:
public class Utils
{
public static Integer calculationMethod(params)
{
int calculation = 0;
x = y+z/2 +i;
if(x >= 10)
{
calculation = 1;
}
else if(x < 10)
{
calculation = 0;
}
return calculation;
}
}
您可以在Utils类或类之外调用此方法。
-
调用utils的类中:
Integer value = calculationMethod(params);
-
调用utils的类外:
Integer value = Utils.calculationMethod(params);
更多有关静态方法看this。
创建一个名为Util的新类,并添加该方法;
public class Util {
public static int Calculation(int x, int y, int z, int i) {
int calculation=0;
x = y + z/2 + i;
if (x >= 10) {
calculation = 1;
} else if (x < 10) {
calculation = 0;
}
return calculation;
}
}
然后从任何地方,你都可以这样称呼它;
int final_value = Util.calculation(1,2,3,4);
试试这个:
public class Utitlity
{
public int static calculateAndReturnSomeValue(int x, int y, int z, int i)
{
//do some calculations here
int calculation = 0;
x = y+z/2 +i;
if(x >= 10)
{
calculation = 1;
}
else if(x < 10)
{
calculation = 0;
}
return calculation;
}
}
现在,当你想使用它,你可以这样做:
int result = Utility.calculateAndReturnSomeValue(2, 4, 6, 9);
我希望帮助。
你也需要'int calculation = 0;否则你会得到一个空指针从这个代码... – 2014-08-27 14:35:04
谢谢大家!我做的。我现在这样使用它,它似乎工作...
public int Izracunavanje(int rezultat)
{
...
rezultat = ...;
return rezultat;
}
,当我想它调用等功能,它是这样的:
rezultat = Izracunavanje(rezultat);
谢谢你,这么多!
你不能使用一个名为'final'的变量,这是一个java关键字,并且这个计算函数有一个'void'返回值....如果你想设置一个变量给它需要的函数调用返回给定变量的类型。 – 2014-08-27 14:27:06
啊,好的。 xD我只是输入了我想到的第一件事xD – 2014-08-27 14:28:37
@НиколаПејић:给*逼真的例子很重要。目前还不清楚您是否不知道如何编写返回内容的方法,或者您的问题是否涉及其他问题。 – 2014-08-27 14:38:31