Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何创建返回计算值的公共计算函数?_Java_Android_Function - Fatal编程技术网

Java 如何创建返回计算值的公共计算函数?

Java 如何创建返回计算值的公共计算函数?,java,android,function,Java,Android,Function,我想创建公共函数,用于计算一些值。我希望该值是函数的输出,例如: public void Calculation(...) { x = y+z/2 +i; if(x >= 10) { calculation = 1; } else if(x < 10) { calculation = 0; } } 我的计算要大得多,所以我不喜欢把它放在很多地方,我只希望它放在一个地方,然后返回值,因为我需要更多次地使用它。我怎么做这个?感谢您的建议。将您的方法设置为静态,并将其放入某个实用程序类中

我想创建公共函数,用于计算一些值。我希望该值是函数的输出,例如:

public void Calculation(...)
{
x = y+z/2 +i;
if(x >= 10)
{
calculation = 1;
}
else if(x < 10)
{
calculation = 0;
}
}

我的计算要大得多,所以我不喜欢把它放在很多地方,我只希望它放在一个地方,然后返回值,因为我需要更多次地使用它。我怎么做这个?感谢您的建议。

将您的方法设置为静态,并将其放入某个实用程序类中

public class CalculationUtils
{
    public static someReturnType yourMethod (...someParams...)
    {
        ....
        return ...
    }

}
然后,您可以使用以下命令从任何其他类访问它:

someReturnType varName = CalculationUtils.yourMethod(...params...);

目前,您正在为变量赋值,并声明您的方法不返回任何内容。相反,您应该让它返回结果:

public int calculate(...)
{
    int x = y+z/2 +i;
    if(x >= 10)
    {
        return 1;
    }
    else if(x < 10)
    {
        return 0;
    }
    return 2; // Or whatever...
}
如果该方法不需要任何状态,可以将其设置为静态方法,这样就可以在没有声明类实例的情况下调用它

如果您只需要类型本身中的方法;保密。如果在类型层次结构中需要它,请将其设置为受保护。如果您需要在同一个包中使用它,请为它提供默认的无修改器访问权限。如果您在任何地方都需要它,请将其公开。

声明一个名为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类内调用:

整数值=calculationMethodparams

在Utils类外部调用:

整数值=Utils.calculationMethodparams


有关静态方法的更多信息,请参见。

创建一个名为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;
    }
}
试试这个:

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;
   }

}

我希望这有帮助

谢谢大家!我做到了。我现在就是这样用的,好像很管用

 public int Izracunavanje(int rezultat)
    {

      ...

        rezultat = ...;
    return rezultat;
}
当我想在其他函数中调用它时,它就像:

rezultat = Izracunavanje(rezultat);

非常感谢你

不能使用名为final的变量,这是一个java关键字,并且此计算函数的返回值为空。。。。如果要将变量设置为函数调用,则需要返回给定变量的类型。啊,好的。xD我刚刚输入了我脑海中浮现的第一件事xD@hyаааПаћ:给出现实的例子很重要。目前还不清楚您是否不知道如何编写返回某些内容的方法,或者您的问题是否与其他内容有关。我忘了补充,我对android和开发非常陌生,所以我不知道如何做。。。XD您还需要int计算=0;否则,您将从此代码中获得一个空指针。。。
int result = Utility.calculateAndReturnSomeValue(2, 4, 6, 9);
 public int Izracunavanje(int rezultat)
    {

      ...

        rezultat = ...;
    return rezultat;
}
rezultat = Izracunavanje(rezultat);