我想创建公共函数,用于计算某些值。我希望该值是函数的输出,例如:
public void Calculation(...)
{
x = y+z/2 +i;
if(x >= 10)
{
calculation = 1;
}
else if(x < 10)
{
calculation = 0;
}
}
而不是在其他地方使用它,如:
int final = Calculation(...);
我的计算量要大得多,所以我不想把它放在很多地方,我只是希望它放在一个地方,然后返回值,因为我需要多次使用它。我该怎么做?谢谢你的建议。
答案 0 :(得分:5)
创建一个名为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);
答案 1 :(得分:1)
将您的方法设为静态并将其放在某个实用程序类中。
public class CalculationUtils
{
public static someReturnType yourMethod (...someParams...)
{
....
return ...
}
}
然后您可以使用以下方法从任何其他类访问它:
someReturnType varName = CalculationUtils.yourMethod(...params...);
答案 2 :(得分:1)
目前,您正在为变量分配值,并声明您的方法不会返回任何内容。相反,你应该让它返回结果:
public int calculate(...)
{
int x = y+z/2 +i;
if(x >= 10)
{
return 1;
}
else if(x < 10)
{
return 0;
}
return 2; // Or whatever...
}
如果该方法不需要任何状态,您可以将其设为静态方法,这样您就可以在没有声明类的实例的情况下调用它。
如果你需要在类型本身内的方法;把它私有化。如果您在类型层次结构中需要它,请将其保护。如果您需要在同一个包中,请为其提供默认访问权限(无修饰符)。如果您在任何地方都需要它,请将其公之于众。
答案 3 :(得分:1)
声明一个名为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。
答案 4 :(得分:1)
试试这个:
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);
我希望有所帮助。
答案 5 :(得分:0)
谢谢大家!我做的。我现在就这样使用它,似乎有用......
public int Izracunavanje(int rezultat)
{
...
rezultat = ...;
return rezultat;
}
当我想在其他功能中调用它时,它就像:
rezultat = Izracunavanje(rezultat);
非常感谢你!